ワークスペースの編成

どのように単体テスト プロジェクトを含むワークスペースを編成するかは、どのように単体テストを構築するかによって異なります。

別のプログラムを呼び出してそのソース コードをテストする場合は、テストするプログラムと同じワークスペースに単体テスト プロジェクトを配置する必要があります。または、リモート単体テスト プロジェクトの場合は、同じリモート ホスト上にテストするソースを配置し、単体テスト プロジェクトと同じ接続を使用してそれらのソースにアクセスする必要があります。また、テスト対象のコードがすべて単体テスト プロジェクト内に格納されている自己完結型の単体テスト プロジェクトを作成することもできます。その場合、プロジェクトは任意のワークスペース/場所に格納できます。

単体テスト プロジェクトから別のプロジェクトを呼び出す場合は、両方のプロジェクトを同じビット体系にコンパイルする必要があります。

また、テスト対象のプロジェクトはいくつかのターゲット タイプ ([Single Executable File]、[Single Native Library File]、[All Native Library Files]、または [All Int/Gnt Files]) にコンパイルできますが、複数のプロジェクトを 1 つの単体テスト プロジェクトでテストする場合、これらのプロジェクトのターゲット タイプを [Single Executable File] または [All Executable Files] にすることはできません。[Single Executable File] は 1 つのプロジェクトだけをテストする場合にのみ使用でき、[All Executable Files] は一切サポートされません。

複数のプロジェクトをテストする場合は、単体テスト プロジェクト内から、テスト対象のプロジェクトごとにテスト フィクスチャを作成します。これにより、[Create unit test from program] オプションを使用してフィクスチャ ファイルを作成すると、テスト ケースをそのプロジェクトのソース コードに直接リンクするために必要な要素が追加されます。

既存のソース コードをテストする別の方法は、MFUPP プリプロセッサを使用することです。既存のソース プロジェクトにリンクする必要も、ソース コードを変更する必要もありません。ソースをリンク ファイルとして単体テスト プロジェクトに追加することで、テスト対象のソース コードを分離できます。そのプロジェクトで MFUPP が有効になっている場合は、元のソース コード プロジェクトをまったく変更することなく、挿入コードまたはスタブ コードを単体テスト プロジェクトでコーディングできます。プリプロセッサは通常の単体テストよりも詳細なレベルでテストできるため、コードの小さな部分に焦点を当てている場合は、この方法をお勧めします。詳細については、「MFUPP プリプロセッサ」を参照してください。