単体テストの効率化を考える(11)
生成したコードのビルドを試す

2022年7月3日

どもです。

前回のエントリで、単体テストの設計書から単体テスト用のコードを自動で生成しました。
そこで今回は、生成したコードを実際にビルドして、目的のテストが実行できるかを確認します。

1. VisualStudioでビルド

まずは、VisualStudioでビルド、テストの実行を行います。
以下の手順でソリューション/プロジェクトを作成、ビルドをします。

  1. VisualStudioで、C++のコンソールアプリプロジェクトを作成します。
    プロジェクト名は、テキトーでOK!
  2. プロジェクト作成時に生成されるソースコードを、削除します。
  3. テスト対象の関数が実装されたソースコードを、プロジェクトに追加します。
  4. ツールが生成したコードを、プロジェクトに追加します。
  5. プロジェクトのプロパティを設定します。
    設定する項目は、以下。

    • インクルードディレクトリ
      googletestのincludeディレクトリは必須!
      ツールが生成したソースコード/ヘッダファイルが格納されたディレクトリ
    • ライブラリディレクトリ
      googletestのライブラリファイル(.lib)が格納されたディレクトリ
    • ライブラリファイル
      googletestのライブラリファイル
  6. ビルドを実行します。

ビルドが完了したら、デバッグの実行、あるいは.exeを(ダブル)クリックするなどして、テストを実行します。
今回は、VisualStudioからデバッグを実行します。
実行した結果が、下図。

このように、テストが実行できていることが分かります。

2. まとめ

今回のエントリでは、前回のエントリで紹介した、ツールで生成したコードを用いて実際に単体テストが実行できるか確認しました。
結果、VisualStudioはプロジェクト/プロパティの設定が必要ですが、それを設定しまえばテストが実行できることが確認できました。
これで、ツールが生成したコードを用いることで、テストドライバの実装を自動化/省略できると証明できました。

本ツールは、まだまだ機能として不足している部分があります。
それらは、ぼちぼちですが機能を追加を追加していこうと思います。

ではっ!

ex. 単体テストの効率化を考える

単体テストの効率化について考えるエントリは、以下のモノがあります。
コチラも併せて読んでいただけたら、幸いです。
単体テストの効率化を考える(1)-はじめに
単体テストの効率化を考える(2)-スタブの戻り値
単体テストの効率化を考える(3)-スタブの引数
単体テストの効率化を考える(4)-スタブの引数(ダブルポインタ)
単体テストの効率化を考える(5)-スタブの自動生成への入力
単体テストの効率化を考える(6)-スタブの自動生成ツール
単体テストの効率化を考える(7)-単体テストの設計/設計資料
単体テストの効率化を考える(8)-単体テスト設計書
単体テストの効率化を考える(9)-テストドライバを実装してみる
単体テストの効率化を考える(10)-テストドライバの自動生成ツール