Unit Testing/bg

From Qt Wiki
Jump to: navigation, search
БългарскиSpanishEnglish

Юнит-тестване с QTest

За общ преглед на това как се правят юнит (модулни) тестове с qtestlib вижте официалното ръководство

Пускане и компилиране на 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 чрез cmake .. -DENABLE_TESTING=true в случайте, когато искате да ги съдадете.

Приложеният по-долу макрос използва променливата ${test_additional} за да окаже допълнителни файлове, които са необходими за теста и трябва да бъдат компилирани. Добавя тест с add_test() към CTest теста "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)

Тестовете могат да бъдат компилирани с make и изпълнени директно чрез името на теста (test_${testname} както е показано по-горе) или всеки тест като партида чрез make test