Unit Testing/bg

From Qt Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
This article may require cleanup to meet the Qt Wiki's quality standards. Reason: Auto-imported from ExpressionEngine.
Please improve this article if you can. Remove the {{cleanup}} tag and add this page to Updated pages list after it's clean.

Български Spanish English

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

Приложеният по-долу макрос използва променливата ${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