ฉันใช้ 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 ซึ่งจะบอกสิ่งที่ล้มเหลวจริง:
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 กับ CMake / CTest หรือไม่?