今回は実際に単体テストを行う場合の設定を書く。
まず、テストを行いたいプログラムが存在するプロジェクトの上位のソリューションにテスト用の「Win32コンソールアプリケーション」プロジェクトを作る。
テスト用プロジェクトは前回CppUnitTestMainに行った「スタートアッププロジェクトに設定」と「プロジェクトの依存関係」の設定を行っておく。
これがちゃんと行われていないと、この後の設定がうまくいかない。
メニューバーから「ツール」→「オプション」を選択。
「オプション」ダイアログの左のツリーから、「プロジェクトおよびソリューション」→「VC++ディレクトリ」を選択。
ディレクトリを表示するプロジェクトを「インクルードファイル」、「ライブラリファイル」に変更し、CppUnitのディレクトリの"include"ディレクトリのパス、"lib"ディレクトリのパスをそれぞれ追加する。
赤丸の部分を「インクルードファイル」や「ライブラリファイル」に変更してから追加することに注意。
「ソリューションエクスプローラ」でテスト用プロジェクトを右クリックし、「プロパティ」をクリック。
ダイアログでツリーから、「構成プロパティ」→「リンカ」→「入力」で「追加の依存ファイル」に「cppunitd.lib」を設定。
ここで、テスト用のcppファイルをテスト用プロジェクトに作成し、またまたテスト用プロジェクトを右クリックして、「プロパティ」をクリック。
ダイアログでツリーから、「構成プロパティ」→「C/C++」→「全般」で追加のインクルードディレクトリにテストするヘッダファイル、もしくはcppファイルのあるディレクトリを設定。
ここまでで、テスト環境は全て完了。
Eclipse+JUnitに比べて、結構面倒くさい。それにコンソールでの表示しかないので、成功、失敗が最初はちょっとわかりにくい感じがある。
できればVisualStudioについている単体テスト機能がもっと拡充されれば、一番いいんですけどね。