Unit Testing/bg

From Qt Wiki
< Unit Testing
Revision as of 07:20, 24 February 2015 by Maintenance script (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search


Български Spanish English

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

За общ преглед на това как се правят юнит (модулни) тестове с qtestlib вижте "официалното ръководство&quot;:http://doc.qt.io/qt-5.0/qttestlib/qtest-tutorial.html

Пускане и компилиране на QTests със CTest

По предназначение CTest e само съоръжение за тестване, което работи с QTest.

Приложеният фрагмент от CMakeLists.txt описва файловете, които се използват за теста.

<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 />

Ако не желаета тестовете да се създават непрекъснато заменете

enable_testing()<code> и пускайте cmake чрез <code>cmake .. -DENABLE_TESTING=true<code> в случайте, когато искате да ги съдадете.

Приложеният по-долу макрос използва променливата ${test_additional} за да окаже допълнителни файлове, които са необходими за теста и трябва да бъдат компилирани. Добавя тест с

add_test() към CTest теста "database&quot;.

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

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 />

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