先日の TDD BootCamp では Boost.Test を使って演習をした。
初めてBoost.Testを使ったけど、Boost自体のコンパイルに時間が掛かるは、テストコードのコンパイルに時間が掛かるわ、当日Linux+ emacs の環境で固まるわで、ちょっとアレなので、今仕事でも使ってるGoogleTest をWindowsのVisual Studio環境で動かしてみた。
ダウンロード、コンパイル、テストの作成といった一連の流れはこちらの通りだけど、備忘録を兼ねて残しておく。
環境
- Visual Studio 2008 Pro
- Google Test 1.5.0
手順
引用元手順を少し改変
- http://code.google.com/p/googletest/downloads/listからダウンロード
- 試したのは1.5.0
- 解凍してmsvc/gtest.sln を実行
- 変換ウィザードが動くので、「完了」を押す
- ソリューションごとビルド
- gtest_unittest で Google Test のテストを行う
- パスの設定
- Visual Studio のメニュー[ツール|オプション]を選択
- 「プロジェクトおよびソリューション|VC++ディレクトリ」(一番上に隠れてる)を選択
- 「ディレクトリを表示するプロジェクト」から「インクルードファイル」を選択し、Google Test のインクルードパス(ここでは「<配置フォルダ>\gtest-1.5.0\include」)を追加
- 同じく「ライブラリファイル」を選択し、Google Test のライブラリパス(ここでは「<配置フォルダ>\gtest-1.5.0\msvc\gtest\Debug」)を追加
- テストを試すためのサンプルプロジェクトを作成(コンソールアプリケーション)
- 作ったプロジェクトのプロパティを開いて、ランタイムライブラリを「マルチスレッド デバッグ(/MTd)」に変更
- テストを書く
- テストコードのサンプルは下に
- 実行する
- JUnit形式のXMLファイルを出力
テストコードのサンプル
#include <gtest/gtest.h> // この2行を gtest/gtest.h に入れとけばライブラリリンクもいらないかな #pragma comment( lib, "gtestd.lib" ) #pragma comment( lib, "gtest_maind.lib" ) TEST(GTestSample, Assert) { EXPECT_EQ(1, 1); EXPECT_EQ(2, 3); }