googletest公式:http://code.google.com/p/googletest/
googletest日本語ドキュメント:http://opencv.jp/googletestdocs/index.html
環境:Visual Studio 2005 Professional Edition
1.ダウンロード
http://code.google.com/p/googletest/downloads/listから落としてくる。 私は、gtest-1.5.0を落としました。
2.インストール
「gtest-1.5.0/msvc/gtest.sln」を起動。変換ウィザードが出たら、「完了」でソリューションを使用しているバージョンに変換する。 その後
・gtest
・gtest_main
をDebug,Releaseでビルド。 ビルドにエラーがなければ、「gtest-1.5.0/msvc/gtest/debug,release」内にそれぞれ、
・gtest.lib
・gtest_main.lib
が出来ているはず。コイツがgoogletestライブラリになります。
Visual Studioの設定
「新規作成→プロジェクト→Win32コンソールアプリケーション」でプロジェクトを作ったら、下記の設定を行う。
「プロジェクトを選択して右クリック→プロパティ:構成プロパティ」で下記を設定する。(Debug,Release両方)
・libの設定
「リンカ:全般:追加のライブラリディレクトリ」で、『gtest-1.5.0/msvc/gtest/debug』を追加
「リンカ:入力:追加の依存ファイル」で、『gtestd.lib gtest_maind.lib』を追加
・includeパスの設定
「C/C++:全般:追加のインクルードディレクトリ」で、『gtest-1.5.0/include』を追加
・ランタイムライブラリ設定
「C/C++:コード生成:ランタイム ライブラリ」で、『マルチスレッド デバッグ(/MTd)』を選択
これで設定終わり。
テストコード書いてみる
// googletestTest.cpp : コンソール アプリケーションのエントリ ポイントを定義します。
//
#include "stdafx.h"
#include
int _tmain(int argc, _TCHAR* argv[])
{
testing::InitGoogleTest(&argc, argv);
RUN_ALL_TESTS();
getchar();
return 0;
}
int add(int a,int b){return a+b;}
TEST(googletestSample, Assert) {
EXPECT_EQ(add(1,2), 3); //1+2は3なので正解
EXPECT_EQ(add(1,2), 4); //1+2は3なのでエラー
}
実行結果はこうなります。
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from googletestSample
[ RUN ] googletestSample.Assert
d:googletesttest\googletesttest.cpp(19): error: Value of: 4
Expected: add(1,2)
Which is: 3
[ FAILED ] googletestSample.Assert (0 ms)
[----------] 1 test from googletestSample (0 ms total)
[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (0 ms total)
[ PASSED ] 0 tests.
[ FAILED ] 1 test, listed below:
[ FAILED ] googletestSample.Assert
1 FAILED TEST
緑と赤に色変わっているのは、見易く私が書いてるのではなく、コンソール上でこういう色ででます。赤い色があればエラーがあると一発で分かります!!コレ超便利。
テストケースの書き方的には、
TEST(テスト名,Assert)
で定義すれば勝手にテストケースに追加してくれて、実行してくれます。超便利!!
googletestイケテル!!!