完全解説「C++でTDD」さらに「MFCでgoogletest」を使うまで
目次
- ライブラリをビルドする
- googletestをプロジェクトに組み込む
- テストを書く
- MFCアプリケーションでテストを書く
1.ライブラリをビルドする
1-1.ソースの取得
gtest-1.6.0.zip ダウンロード→展開
解凍したフォルダをリネームします「gtest-1.6.0」->「gtest」
1-2.ライブラリの作成
gtest\msvc にある「gtest.sln」を開きます。
[構成プロパティ][全般]から、文字セットをgoogletestを使うプロジェクトに合わせる。
この操作を、「gtest」と「gtest_main」プロジェクトでおこないます。
1-3.ビルド
Debug/Release用を作るので2回ビルドします。
1-4.ファイル確認
gtest\msvc\Debug
gtest\msvc\Release
1-5.以降の設定をラクにするための下準備1
この4つのファイルを、gtest\includeとおなじ位置に「lib」というフォルダを作ってコピーする。
1-6.以降の設定をラクにするための下準備2
2.googletestをプロジェクトに組み込む
プロジェクトを立ち上げます。
以降、プロジェクトのプロパティ設定をおこないます。
Debug/Releaseで共通なので、構成ですべての構成選択しておきます。
2-1.インクルードディレクトリの設定
gtest\include フォルダを指定します。
[構成プロパティ][C/C++][全般]
2-2.追加のライブラリ ディレクトリの設定
手順1-5で作った gtest\lib フォルダを指定します。
[構成プロパティ][リンカ][全般]
3.テストを書く
3-1.TestMoneyファイルを追加
3-2.テストコードの記述
3-3.ビルド(失敗)
3-4.プロダクトコードを実装する
Dollar.hを新規作成して実装します。
3-5.ビルドして実行
TestMoneyで書いたテストを走らせるためには、以下のうちいずれかを選びます。
「おまじないを書く」か「_tmain関数をコメントアウト」します。
テストが実行されます。
3-6.グリーンバーを表示させる
gtest-gbarをダウンロードして展開したフォルダにある「Guitar.exe」を実行します。
ビルドした「Money.exe」を選択して「Go」を押します。
4.MFCアプリケーションでテストを書く
次にMFCでの手順です。
ここでは、ダイアログベースのMFCアプリケーションを例に説明します。
4-1.手順2~3-4まで同じようにおこないます
4-2.テスト用 ソリューション構成の追加
[ビルド][構成マネージャ]を開きます。
新規作成で「Debug-Test」「Release-Test」をそれぞれ追加します。
4-3.プリプロセッサ「_GTEST」を追加
Release-Testもおなじように「_GTEST」を追加します。
4-4.InitInstanceを細工
Win32アプリケーションでは、_tmain関数に細工をしました。
MFCでは、InitInstance関数に細工をします。
includeブロックで以下を追加。
InitInstance関数を以下のように変更。
実行すると、[出力]ウィンドウに結果が出力されます。
テストがすべて通ると何も表示されません。
4-5.MFCでもグリーンバーを表示
手順3-6と同じように、exeを指定すると実行結果が表示できます。
ただし、MFCの実行ファイルを Guitar に指定すると、グリーンバーが表示できない不具合があります。
その不具合を修正した Guitar を作っていますので、以下のファイルをダウンロードして上書きして使ってみてください。
長くなりましたが、以上で説明をおわります。
お役に立てばうれしいです。
Let's Enjoy TDD!!
Google Test 入門ガイド
Google Test 上級ガイド