Sto usando CMake per creare il mio progetto. Ho aggiunto un binario di unit test che utilizza il framework di unit test Boost. Questo binario contiene tutti gli unit test. Ho aggiunto quel binario per essere eseguito da CTest:
ADD_EXECUTABLE( tftest test-main.cpp )
ENABLE_TESTING()
ADD_TEST( UnitTests tftest)
Ma l'output di compilazione in Visual Studio mostra solo il risultato dell'esecuzione di CTest:
Start 1: UnitTests
1/1 Test #1: UnitTests ................***Failed 0.05 sec
0% tests passed, 1 tests failed out of 1
Questo non è molto utile, perché non riesco a vedere quale test ha fallito. Se eseguo ctest manualmente dalla riga di comando con --verbose
ottengo l'output da uno unit test Boost che dice cosa effettivamente non è riuscito:
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
Quindi, cosa devo cambiare in CMakeLists.txt per far funzionare CTest --verbose
in ogni momento? C'è un modo migliore per utilizzare i test unitari Boost con CMake / CTest?