Google Test 1.3.0を試してみる

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 )); 
    }
  1. 実行
    • こんな感じ

ネタ元