Qt wiki will be updated on October 12th 2023 starting at 11:30 AM (EEST) and the maintenance will last around 2-3 hours. During the maintenance the site will be unavailable.
Unit Testing/bg
Jump to navigation
Jump to search
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. |
Юнит-тестване с 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