基礎測試套件

# 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