Юнит-тестване с QTest
За общ преглед на това как се правят юнит (модулни) тестове с qtestlib вижте официалното ръководство [qt-project.org]
Пускане и компилиране на QTests със CTest
По предназначение CTest e само съоръжение за тестване, което работи с QTest.
Приложеният фрагмент от CMakeLists.txt описва файловете, които се използват за теста.
- enable_testing(true)
- include_directories( test )
- set(test_additional
- some_dependency.cpp
- some_other_dependency.cpp
- )
- add_test(dummytest test/DummyTest.cpp)
Ако не желаета тестовете да се създават непрекъснато заменете
- enable_testing()
- cmake .. -DENABLE_TESTING=true
Приложеният по-долу макрос използва променливата ${test_additional} за да окаже допълнителни файлове, които са необходими за теста и трябва да бъдат компилирани. Добавя тест с
- add_test()
- MACRO(add_test testname testsrc)
- SET(test_${testname}_SRCS ${testsrc})
- qt4_automoc(${test_${testname}_SRCS})
- add_executable(test_${testname} ${test_${testname}_SRCS} ${test_additional})
- target_link_libraries(test_${testname} ${QT_QTCORE_LIBRARY}
- ${QT_QTTEST_LIBRARY} ${QT_QTGUI_LIBRARY}
- ${GSOAP_LIBRARIES} ${QT_QTLOCATION_LIBRARY})
- ADD_TEST(test_${testname} test_${testname})
- ENDMACRO(add_test)
Тестовете могат да бъдат компилирани с
- make
- make test

