C++

CMakeとテスト

複数ファイルのビルド手順を管理し、テストを実行する方法を学びます。

C++入門の講座一覧

01

CMakeを書く

ファイルが増えたらCMakeでビルド手順を記述します。ソースと別のフォルダーに生成物を置くアウトオブソースビルドが一般的です。

CMakeLists.txtCMAKE
cmake_minimum_required(VERSION 3.16)
project(hello LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
add_executable(hello main.cpp)
enable_testing()
add_test(NAME hello_runs COMMAND hello)

enable_testing()でテスト機能を有効にし、add_test()で実行するプログラムを登録します。

02

ビルドする

アウトオブソースビルドCOMMAND
cmake -S . -B build
cmake --build build
03

テストする

登録したテストを実行すると、helloが正常終了することを確認できます。テストを追加したら、通常値だけでなく境界値や失敗ケースも確認します。外部ライブラリは公開元、ライセンス、対応コンパイラー、固定バージョンを確認しましょう。

テスト実行COMMAND
ctest --test-dir build
実行結果OUTPUT
100% tests passed, 0 tests failed out of 1
04

練習

これまでの在庫管理プログラムを複数ファイルへ分割し、CMakeでビルドする構成にしてみましょう。