Jump to content

Unit Testing/es

From Qt Wiki

Spanish English Български

Test unitarios con QTest

Para una introducción basica de como escribir pruebas unitarias usandoqtestlib, remitase al "manual oficial (in English).":http://doc.qt.io/qt-5.0/qttestlib/qtest-tutorial.html

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()<code> y correr cmake con <code>cmake .. -DENABLE_TESTING=true<code> para compilar los tests.

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() a ctest test “database”.

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 y ejecutar directamente por el nombre de la prueba (test_${testname} como es especificado en el macro) o todas las pruebas en lote con: make test