Test unitarios con QTest
Para una introducción basica de como escribir pruebas unitarias usandoqtestlib, remitase al manual oficial (in English). [doc.qt.nokia.com]
Corriendo y compilando QTests con CTest
CTest, por diseño es solo una facilidad para testear. Por esto se ajusta a diferentes frameworks de pruebas unitarias y de movida con QTest.
El fragmento de código a continuación va en el archivo CMakeLists.txt, y especifica los archivos que son utilizados por la prueba.
- enable_testing(true)
- include_directories( test )
- set(test_additional
- some_dependency.cpp
- some_other_dependency.cpp
- )
- add_test(dummytest test/DummyTest.cpp)
Si no desea compilar las pruebas todo el tiempo, remueve
- enable_testing()
- cmake .. -DENABLE_TESTING=true
El macro a continuación usa la variable ${test_additional} para agregar archivos adicionales a la prueba a compilar. Añada la prueba con:
- 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)
Las pruebas pueden ser compiladas con
- make
- make test

