Używam CMake do tworzenia mojego projektu. Dodałem plik binarny testu jednostkowego, który korzysta z platformy testów jednostkowych Boost. Ten plik binarny zawiera wszystkie testy jednostkowe. Dodałem ten plik binarny do uruchomienia przez CTest:
ADD_EXECUTABLE( tftest test-main.cpp )
ENABLE_TESTING()
ADD_TEST( UnitTests tftest)
Ale dane wyjściowe kompilacji w programie Visual Studio pokazują tylko wynik działania CTest:
Start 1: UnitTests
1/1 Test #1: UnitTests ................***Failed 0.05 sec
0% tests passed, 1 tests failed out of 1
Nie jest to zbyt pomocne, ponieważ nie widzę, który test się nie powiódł. Jeśli uruchomię ctest ręcznie z wiersza poleceń --verbose
, otrzymam dane wyjściowe z testu jednostkowego Boost, który mówi, co tak naprawdę się nie powiodło:
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
Więc co muszę zmienić w CMakeLists.txt, aby CTest działał przez --verbose
cały czas? Czy istnieje lepszy sposób używania testów jednostkowych Boost z CMake / CTest?