Googleのテストフレームワークが気になったので試してみることにした。
あんまり日本語の情報ってないんですね。やっぱりテストは注目度低いのかな。
使ったのはVC++ 2008 Professional Edition。多分Expressでもいけると思うです。
- http://code.google.com/p/googletest/downloads/listからダウンロード
- 試したのは1.3.0
- 解凍してmsvc/gtest.sln を実行
- 変換ウィザードが動くので、「完了」を押す
- gtest と gtest_main プロジェクトをビルド
- gtestを最初にビルド。次にgtest_main。
- 上の2つだけでOK。ソリューション全部ビルドしようとするとなにかエラーがでた。
- なんどかビルドさせたら、全部ビルド通るようになった。なんだろ?
- テストを試すためのサンプルプロジェクトを作成
- 作ったプロジェクトのプロパティを開いて、ランタイムライブラリを「マルチスレッド デバッグ(/MTd)」に変更
- gtestがこのオプションでリンクされているため。
- これをやらないとリンクでわんさかエラーが出ます。
- 作ったプロジェクトのプロパティを開いて、インクルードパスとリンクするライブラリを追加
- 構成プロパティ>C/C++>全般の「追加のインクルード」にincludeフォルダを指定
- 構成プロパティ>リンカ>全般の「追加のライブラリディレクトリ」にmsvc/debugフォルダを指定
- 構成プロパティ>リンカ>入力の「追加の依存ファイル」にgtest_maind.lib gtestd.libと入力
- main関数に以下を追加
testing::InitGoogleTest(&argc, argv); RUN_ALL_TESTS();
- テストコードを適当に書く
#include <gtest/gtest.h> TEST(firstTest, abs) { EXPECT_EQ(1, abs( -1 )); EXPECT_EQ(1, abs( 1 )); }
- 実行
- こんな感じ
ネタ元