Documentation/Nightly/Developers/QtTesting
From Slicer Wiki
Revision as of 15:32, 24 May 2012 by BenjaminLong (talk | contribs) (→Create custom translator/player)
Home < Documentation < Nightly < Developers < QtTesting
Contents
Overview
Write a 3DSlicer UnitTest with QtTesting
1/ Create your XML script
See QtTesting User
| If your tutorial needs data, please first add the data to the Sample Data module, and use this module during the test. See instruction xxxx here |
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 :
slicer.util.exit(EXIT_SUCCESS)
else:
slicer.util.exit(EXIT_FAILURE)
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:
if(Slicer_USE_QTTESTING)
{
...
slicer_add_python_test(
SCRIPT pythonScriptName.py
SLICER_ARGS --launcher-no-splash --qt-testing)
}
Create custom translator/player
Download this File:TranslatorPlayerTemplate.zip
Unzip the folder
Use the python script TranslatorPlayerWizard.py to create the basic code
cd path/to/folder/unzip/Scripts ./TranslatorPlayerWizard.py yourClassName cd ../yourClassName/
4 files should have been created !
| Those files are only the basic code. You now have to implement the function, according to your widget, to record the events |