Estoy usando CMake para construir mi proyecto. He agregado un binario de prueba unitaria que utiliza el marco de prueba unitario Boost. Este binario contiene todas las pruebas unitarias. He agregado ese binario para que lo ejecute CTest:
ADD_EXECUTABLE( tftest test-main.cpp )
ENABLE_TESTING()
ADD_TEST( UnitTests tftest)
Pero el resultado de la compilación en Visual Studio solo muestra el resultado de ejecutar CTest:
Start 1: UnitTests
1/1 Test #1: UnitTests ................***Failed 0.05 sec
0% tests passed, 1 tests failed out of 1
Esto no es muy útil, porque no puedo ver qué prueba falló. Si ejecuto ctest manualmente desde la línea de comando --verbose
, obtengo el resultado de una prueba unitaria de Boost que dice lo que realmente falló:
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
Entonces, ¿qué necesito cambiar en CMakeLists.txt para que CTest se ejecute --verbose
en todo momento? ¿Existe una mejor manera de usar las pruebas unitarias de Boost con CMake / CTest?