Google Test (GoogleのC++向けユニットテストフレームワーク) 使ってみたメモ
簡単に使い方をメモ
ライブラリファイルを作る
READMEによると CMake がおすすめらしい。CMake いれてなかったので、brew install cmakeでインストールしておいた。そして、以下の手順でライブラリファイルを作成。
cd googletest mkdir build cmake ..
これで、カレントディレクトリの下に Makefile ができているので、
make
すると、libgtest.a と libtest_main.a が出来る。これらのライブラリをテストコードと一緒にリンクすることでテストコードを実行するファイルが生成される。libgtest.a はフレームワークの本体で、libgtest_main.a はフレームワークが用意しているmain()関数。自分でmain()関数を書く場合は、後者をリンクする必要はない。
テストコードのコンパイル〜実行
早速テストコードを書いてみる。以下のページからちょこっと拝借した。
その1:基本的な使い方 - エンジニアのソフトウェア的愛情
分かりやすくするため、わざと失敗するテストに書き換えた。
上記のコードを test.cc として保存して、以下のようにコンパイルする。このコードにはmain()関数が無いので、libgtest_main.a とリンクしてあげることで、フレームワークが用意しているmain()関数とリンクされる。
g++ -I${GTEST_DIR}/include test.cc ${GTEST_DIR}/build/libgtest_main.a -o test上記の通りコンパイルすると、カレントディレクトリ配下に test ファイルが出来ているはずなので、そのまま実行してみる。以下のような結果になったら、ひとまずテストが動いていることが確認できた証拠。

ためしに、ソースコードを修正してみる。
int add(int x, int y)
{
return x + y;
}で、もう一度コンパイル&実行。

今度はテスト通った。
こんな感じでテストできるっぽい。使ってみよう。