基礎測試套件
# the usual boilerplate setup
cmake_minimum_required(2.8)
project(my_test_project
LANGUAGES CXX)
# tell CMake to use CTest extension
enable_testing()
# create an executable, which instantiates a runner from
# GoogleTest, Boost.Test, QtTest or whatever framework you use
add_executable(my_test
test_main.cpp)
# depending on the framework, you need to link to it
target_link_libraries(my_test
gtest_main)
# now register the executable with CTest
add_test(NAME my_test COMMAND my_test)
巨集觀 enable_testing()
做了很多魔術。首先,它建立了一個內建目標 test
(用於 GNU make; RUN_TESTS
用於 VS),在執行時執行 CTest 。
對 add_test()
的呼叫最終會向 CTest 註冊一個任意可執行檔案,因此每當我們呼叫 test
目標時,可執行檔案就會執行。
現在,像往常一樣構建專案,最後執行測試目標
GNU Make | 視覺工作室 |
---|---|
make test |
cmake --build . --target RUN_TESTS |