プロジェクトのビルドに CMake を使用しています。Boost 単体テスト フレームワークを使用する単体テスト バイナリを追加しました。この 1 つのバイナリには、すべての単体テストが含まれています。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
では、CTest を常に実行するには、CMakeLists.txt で何を変更する必要があり--verbose
ますか? CMake/CTest で Boost 単体テストを使用するより良い方法はありますか?