Difference between revisions of "Documentation/Nightly/Developers/QtTesting"

From Slicer Wiki
Jump to: navigation, search
Line 57: Line 57:
==Open bugs==
==Open bugs==
[http://na-mic.org/Mantis/search.php?project_id=3&category=QtTesting&sticky_issues=off&sortby=last_updated&dir=DESC&hide_status_id=-2 Slicer issues]
[https://github.com/commontk/CTK/issues?labels=Testing&milestone=&page=1&state=open QtTesting issues]

Revision as of 17:20, 24 May 2012

Home < Documentation < Nightly < Developers < QtTesting


Write a 3DSlicer UnitTest with QtTesting

1/ Create your XML script

See QtTesting User

2/ Create a Python script

This Python test will start 3DSlicer and run your xml script previously recorded

Create a file with the following code

   import slicer
   import slicer.testing
   import slicer.util
   filepath = os.environ['SLICER_HOME'] + 'path/to/your/script.xml'
   testUtility = slicer.app.testingUtility()
   success = testUtility.playTests(filepath)
   if success :

Save to the directory ${Slicer_SOURCE_DIR}/Applications/SlicerApp/Testing/Python/

3/ Add the test in CMake

Edit the file Slicer4/Applications/SlicerApp/Testing/Python/CMakeLists.txt

Add your test at the end of the Slicer_USE_QTTESTING condition:

       SCRIPT pythonScriptName.py
       SLICER_ARGS --launcher-no-splash --qt-testing)

Create custom translator/player

QTTesting provides us basic translator and player template.
You can use the following command to create those basic files.

 cd Slicer_BINARY/CTK-build/QtTesting/Utilities/Scripts
 ./TranslatorPlayerWizard.py yourClassName
 cd ../yourClassName/

4 files should have been created !

Open bugs

Slicer issues

QtTesting issues