Spanish English Български

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.

  1. enable_testing(true)
  2. include_directories( test )
  3.  
  4. set(test_additional
  5.     some_dependency.cpp
  6.     some_other_dependency.cpp
  7. )
  8. add_test(dummytest test/DummyTest.cpp)

Si no desea compilar las pruebas todo el tiempo, remueve

  1. enable_testing()
y correr cmake con
  1. cmake .. -DENABLE_TESTING=true
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:

  1. add_test()
a ctest test “database”.

  1. MACRO(add_test testname testsrc)
  2.     SET(test_${testname}_SRCS ${testsrc})
  3.  
  4.     qt4_automoc(${test_${testname}_SRCS})
  5.     add_executable(test_${testname} ${test_${testname}_SRCS} ${test_additional})
  6.     target_link_libraries(test_${testname} ${QT_QTCORE_LIBRARY}
  7.             ${QT_QTTEST_LIBRARY} ${QT_QTGUI_LIBRARY}
  8.             ${GSOAP_LIBRARIES} ${QT_QTLOCATION_LIBRARY})
  9.  
  10.     ADD_TEST(test_${testname} test_${testname})
  11. ENDMACRO(add_test)

Las pruebas pueden ser compiladas con

  1. 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:
  1. make test

Categories: