Unit Testing/es: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 5: Line 5:
= Test unitarios con QTest =
= 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
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 ==
== Corriendo y compilando QTests con CTest ==
Line 21: Line 21:
El macro a continuación usa la variable ${test_additional} para agregar archivos adicionales a la prueba a compilar. Añada la prueba con: </code>add_test()</code> a ctest test “database”.
El macro a continuación usa la variable ${test_additional} para agregar archivos adicionales a la prueba a compilar. Añada la prueba con: </code>add_test()</code> a ctest test “database”.


<code><br />MACRO (add_test testname testsrc)<br /> SET (test_$&amp;#123;testname&amp;#125;_SRCS $&amp;#123;testsrc&amp;#125;)
<code><br />MACRO (add_test testname testsrc)<br /> SET (test_${testname}_SRCS ${testsrc})


qt4_automoc(${test_${testname}_SRCS})<br /> add_executable(test_${testname} ${test_${testname}_SRCS} ${test_additional})<br /> target_link_libraries(test_${testname} ${QT_QTCORE_LIBRARY}<br /> ${QT_QTTEST_LIBRARY} ${QT_QTGUI_LIBRARY}<br /> ${GSOAP_LIBRARIES} ${QT_QTLOCATION_LIBRARY})
qt4_automoc(${test_${testname}_SRCS})<br /> add_executable(test_${testname} ${test_${testname}_SRCS} ${test_additional})<br /> target_link_libraries(test_${testname} ${QT_QTCORE_LIBRARY}<br /> ${QT_QTTEST_LIBRARY} ${QT_QTGUI_LIBRARY}<br /> ${GSOAP_LIBRARIES} ${QT_QTLOCATION_LIBRARY})

Revision as of 14:32, 24 February 2015

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.

<br />enable_testing(true)<br />include_directories( test )

set(test_additional<br /> some_dependency.cpp<br /> some_other_dependency.cpp<br />)<br />add_test(dummytest test/DummyTest.cpp)<br />

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”.

<br />MACRO (add_test testname testsrc)<br /> SET (test_${testname}_SRCS ${testsrc})

qt4_automoc(${test_${testname}_SRCS})<br /> add_executable(test_${testname} ${test_${testname}_SRCS} ${test_additional})<br /> target_link_libraries(test_${testname} ${QT_QTCORE_LIBRARY}<br /> ${QT_QTTEST_LIBRARY} ${QT_QTGUI_LIBRARY}<br /> ${GSOAP_LIBRARIES} ${QT_QTLOCATION_LIBRARY})

ADD_TEST(test_${testname} test_${testname})<br />ENDMACRO (add_test)<br />

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