3

私は CMake を使用してプロジェクトに取り組んでおり、いくつかの CppUnit テストを統合しました。CTest を使用したいので、CMakeLists.txt ファイルで add_test を使用して、入力時にテストを実行しましたmake test。それでも、 と入力するとmake test、些細なエラーでテストを行ったとしても、すべてのテストに合格したことがわかります。誤ったテストは、手動で実行した場合 (./my_test など) にこれらのエラーを報告しますが、./my_test を使用して実行した場合は報告しませんmake test

test ディレクトリにある CMakeLists.txt の内容は次のとおりです。

add_executable(TestDataSpace TestDataSpace.cpp)
target_link_libraries(TestDataSpace ${DEP_LIBRARIES} ${CPPUNIT_LIBRARIES})

add_executable(TestVariableManager TestVariableManager.cpp)
target_link_libraries(TestVariableManager ${DEP_LIBRARIES} ${CPPUNIT_LIBRARIES})

add_executable(TestLayoutManager TestLayoutManager.cpp)
target_link_libraries(TestLayoutManager ${DEP_LIBRARIES} ${CPPUNIT_LIBRARIES})

add_test(NAME "TestDataSpace" COMMAND ${MY_PROJECT_SOURCE_DIR}/test/TestDataSpace)
add_test(NAME "TestVariableManager" COMMAND ${MY_PROJECT_SOURCE_DIR}/test/TestVariableManager)
add_test(NAME "TestLayoutManager" COMMAND ${MY_PROJECT_SOURCE_DIR}/test/TestLayoutManager)

コマンドに間違ったパスを入力すると、CMake が実行可能ファイルを見つけられないと不平を言うため、CTest は実行可能ファイルを見つけます。

make test以下を出力します。

テストを実行中... テストプロジェクト

Start 1: TestDataSpace 1/3 Test #1: TestDataSpace ....................   Passed    0.01 sec
Start 2: TestVariableManager 2/3 Test #2: TestVariableManager ..............   Passed    0.02 sec
Start 3: TestLayoutManager 3/3 Test #3: TestLayoutManager ................   Passed    0.01 sec

100% のテストに合格し、3 回中 0 回のテストに失敗しました

私は何が欠けていますか?

4

1 に答える 1