Projemi oluşturmak için CMake kullanıyorum. Boost birim testi çerçevesini kullanan bir birim testi ikili dosyası ekledim. Bu tek ikili, tüm birim testlerini içerir. CTest tarafından çalıştırılacak ikili dosyayı ekledim:
ADD_EXECUTABLE( tftest test-main.cpp )
ENABLE_TESTING()
ADD_TEST( UnitTests tftest)
Ancak Visual Studio'daki derleme çıktısı yalnızca CTest çalıştırmanın sonucunu gösterir:
Start 1: UnitTests
1/1 Test #1: UnitTests ................***Failed 0.05 sec
0% tests passed, 1 tests failed out of 1
Bu pek yardımcı olmadı çünkü hangi testin başarısız olduğunu göremiyorum. Komut satırından ctest'i manuel olarak çalıştırırsam --verbose
, gerçekte neyin başarısız olduğunu söyleyen bir Boost birim testinden çıktı alırım:
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
Öyleyse, CTest'in --verbose
her zaman çalışması için CMakeLists.txt'de neyi değiştirmem gerekiyor ? CMake / CTest ile Boost birim testlerini kullanmanın daha iyi bir yolu var mı?