Я використовую CMake для створення свого проекту. Я додав одиничний тестовий двійковий код, який використовує рамку тестування одиниці Boost. Цей двійковий файл містить усі одиничні тести. Я додав, що двійковий файл повинен управляти CTest:
ADD_EXECUTABLE( tftest test-main.cpp )
ENABLE_TESTING()
ADD_TEST( UnitTests tftest)
Але вихід збірки у Visual Studio показує лише результат запуску CTest:
Start 1: UnitTests
1/1 Test #1: UnitTests ................***Failed 0.05 sec
0% tests passed, 1 tests failed out of 1
Це не дуже допомагає, тому що я не бачу, який тест не вдався. Якщо я запускаю ctest вручну з командного рядка, --verbose
я отримую результат тесту Boost unit, який говорить про те, що насправді не вдалося:
1: Test command: tftest.exe
1: Test timeout computed to be: 9.99988e+006
1: Running 4 test cases...
1: test-main.cpp(20): error in "sanity_check3": check 1 == 2 failed
1:
1: *** 1 failure detected in test suite "Master Test Suite"
1/1 Test #1: UnitTests ................***Failed 0.00 sec
Отже, що мені потрібно змінити в CMakeLists.txt, щоб CTest запускався --verbose
постійно? Чи є кращий спосіб використовувати тести Boost unit за допомогою CMake / CTest?