2009-08-26 17 views
0

VS2008のさまざまなC++ライブラリプロジェクトでは、<libraryname>-Testという兄弟プロジェクトがあります。これは、ライブラリに依存し、その上でテストを実行する実行可能なプロジェクトです。テストプロジェクトのビルド後の構成が単純で構成されていますVS2008 C++ポストビルドイベントを強制的に実行するには?

「$(TargetPathが)」

それは実際に中に何かをしない限り、メーカーがポストビルドステップを再実行しませんビジュアルビルド、少なくとも再リンク。通常はそれが良いことですが、この場合は、ソリューションビルドがトリガされるたびにテストを再実行します(実際のプログラムに必要な依存プロジェクトのみをビルドするプロジェクトビルドとは異なります)。

これまでのところ、テストを実行させる唯一の方法は、ビルド後のプロセスの一部として中間ファイルの1つを削除することでした。これは機能しますが、何も変わっていなくてもテストプロジェクトを再構築する必要があるため、作業が遅くなります。

答えて

1

テストプロジェクトをテストプロジェクトではなく、メインプロジェクトのビルド後のステップに置きます。とにかく再構築されているので、テストは常に実行されます。

+0

プログラムの*ビルドごとにテストを再実行したくないので、オンデマンドで実行できるようにしたいだけです。理想的には、ソリューションビルドを実行することによって、CIビルドマシンが定期的に行うことになります。だからこそ、私は具体的にはプロジェクトビルドとソリューションビルドを区別しています。 –

+0

その後、プロジェクトのリリースビルドでのみポストビルドイベントを設定します。出荷される/テストする必要がある最終プロジェクトにリリースビルドを使用します。次に、デバッグビルドを使用して開発します。 –

0

CruiseControlやHudsonのようなCIサーバーを使用していますか?通常、そのようなものをスクリプト化することができます。または単にNantを使用してください。それらはすべてポストビルドイベントをサポートします。

+0

いいえ、CIシステムはすべて自家製のバッチファイルです。とにかくCIマシン上でテストは正常に実行されますが、現在のシステムが苦情を引き起こしているのは開発者マシン上です。 –

関連する問題