Visual Studio で gtest を使う
参考サイト
入門ガイド — Google Test ドキュメント日本語訳
上級ガイド — Google Test ドキュメント日本語訳
ビルドのコマンドとプロパティのマクロ
環境
- Visual Studio 2015
- gtest-1.7.0
手順
プロジェクト作成
ファイル -> 新規作成 -> プロジェクト -> 名前欄に任意の名前を入力(ここでは"Sample"とした場合の説明) -> Win32 コンソールアプリケーション -> OK -> 次へ -> 完了
gtestの準備
下記サイトから gtest-1.7.0.zip をダウンロード
Downloads - googletest - Google C++ Testing Framework - Google Project Hosting解凍したフォルダの下記ソリューションファイルをダブルクリックし、Visual Studio を起動
gtest-1.7.0\msvc\gtest-md.sln
ソリューションのビルド(Release/Debugいずれも) を行い、下記のファイルが生成されることを確認
gtest-1.7.0\msvc\gtest\Debug\gtestd.lib gtest-1.7.0\msvc\gtest\Debug\gtest_maind.lib gtest-1.7.0\msvc\gtest\Release\gtest.lib gtest-1.7.0\msvc\gtest\Release\gtest_main.lib
下記の通りフォルダ構成を整える
Sample │ Sample.sdf │ Sample.sln │ README.md │ │ └─Sample │ Sample.cpp │ Sample.vcxproj │ Sample.vcxproj.filters │ ReadMe.txt │ stdafx.cpp │ stdafx.h │ targetver.h │ ├─include // gtest-1.7.0\include をコピー │ └─lib // gtest-1.7.0\msvc\gtest 以下をコピー ├─Debug └─Release
INCLUDEディレクトリの追加
ソリューション右クリック -> プロパティ -> 構成プロパティ -> C/C++ -> [追加のインクルードディレクトリ] -> gtestのincludeディレクトリを追加
※$(ProjectDir)を使用して追加した方がよい
例:$(ProjectDir)include
libファイルのリンク設定
ソリューション右クリック -> プロパティ -> 構成プロパティ -> リンカー -> [追加のライブラリディレクトリ] -> gtestのlibのディレクトリを追加 $(Configuration)を利用して追加した方がよい
例:$(ProjectDir)lib\$(Configuration)
ソリューション右クリック -> プロパティ -> 構成プロパティ -> リンカー -> 入力 -> [追加の依存ファイル] ->
構成を[Release] に設定し、下記を追加
gtest.lib
gtest_main.lib
構成を[Debug] に設定し、下記を追加
gtestd.lib
gtest_maind.lib
ランタイムライブラリのリンク方法の指定を変更
ソリューション右クリック -> プロパティ -> 構成プロパティ -> C/C++ -> コード生成 -> [ランタイムライブラリ] ->
構成を[Release] に設定し、[マルチスレッド (/MT)] を設定
構成を[Debug] に設定し、[マルチスレッド デバッグ (/MTd)] を設定
テスト実行
テスト実行時に引数 --gtest_output=xml:<結果ファイル名>.xml
を付けることでxmlで結果を出力できる
例:結果を test_result.xml として出力
Sample.exe --gtest_output=xml:test_result.xml