Unit Testing/bg: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
 
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Category:Howto]]<br />[[Category:Developing with Qt]]
{{Cleanup | reason=Auto-imported from ExpressionEngine.}}
 
[[Category:HowTo]]
[[Category:Developing with Qt]]


'''Български''' [[Unit_Testing_Spanish|Spanish]] [[Unit_Testing|English]]
'''Български''' [[Unit_Testing_Spanish|Spanish]] [[Unit_Testing|English]]
Line 5: Line 8:
= Юнит-тестване с QTest =
= Юнит-тестване с QTest =


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


== Пускане и компилиране на QTests със CTest ==
== Пускане и компилиране на QTests със CTest ==
Line 13: Line 16:
Приложеният фрагмент от '''CMakeLists.txt''' описва файловете, които се използват за теста.
Приложеният фрагмент от '''CMakeLists.txt''' описва файловете, които се използват за теста.


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


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


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


Приложеният по-долу макрос използва променливата ${test_additional} за да окаже допълнителни файлове, които са необходими за теста и трябва да бъдат компилирани. Добавя тест с </code>add_test()</code> към CTest теста &quot;database&amp;quot;.
Приложеният по-долу макрос използва променливата ${test_additional} за да окаже допълнителни файлове, които са необходими за теста и трябва да бъдат компилирани. Добавя тест с </code>add_test()</code> към CTest теста "database".


<code><br />MACRO (add_test testname testsrc)<br /> SET (test_$&amp;#123;testname&amp;#125;_SRCS $&amp;#123;testsrc&amp;#125;)
<code>
MACRO (add_test testname testsrc)
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})
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})<br />ENDMACRO (add_test)<br /></code>
ADD_TEST(test_${testname} test_${testname})
ENDMACRO (add_test)
</code>


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

Latest revision as of 14:44, 18 August 2015

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