1
我最近開始學習cmake,遇到了一個小問題。我得到了我的可執行文件和單元測試,從生成的makefile進行編譯時沒有問題。如果我在構建目錄中運行./test
,則在UnitTest ++中創建的測試運行並按預期完成,打印結果。有什麼辦法可以讓make test
簡單地運行測試可執行文件,而不是在ctest框架中運行它,還是應該以不同的方式進行操作?從cmake調用Unittest ++創建的makefile
這裏是我的代碼的最小工作示例:
的src/main/main.c中是一個簡單的空主要功能
的src /測試/ testMain.cpp:
#include <UnitTest++/UnitTest++.h>
TEST(FailSpect)
{
CHECK(false);
}
int main()
{
UnitTest::RunAllTests();
}
的CMakeLists.txt:
cmake_minimum_required(VERSION 2.6)
project(myProject)
enable_testing()
set(myProjectMain
src/main/main.c
)
set(myProjectSrc
)
set(myProjectTestSrc
src/test/testMain.cpp
)
add_executable(myExecutable ${myProjectMain} ${myProjectSrc})
add_executable(testSuite ${myProjectTestSrc} ${myProjectSrc})
target_link_libraries(testSuite UnitTest++)
add_test(testExe testSuite)
make test
輸出:
Running tests...
Start processing tests
Test project /myProjectDir/build
1/ 1 Testing testExe Passed
100% tests passed, 0 tests failed out of 1
./testSuite
輸出:
/myProjectDir/src/test/testMain.cpp:5: error: Failure in FailSpect: false
FAILURE: 1 out of 1 tests failed (1 failures).
Test time: 0.00 seconds.