5

TeamCity Professionalを使用してコードを構築し、テストしています。TeamCityでMSTestの一時ディレクトリを無効にする

私は自分のPC上でVS2010でうまく動作しますが、ビルドサーバーで失敗するいくつかのMSTestベースのテストをしています。

私は、テスト時に、TEMP_DIR(構成可能)に一時ディレクトリを作成し、テストDLLに "最初の関係"の依存関係のみをコピーすることを発見しました。例えば

:私のテストでは、一時ディレクトリにコピーされますが、その依存関係(すなわちNHibernate.ByteCode.Castle)はコピーされませんし、テストがIO.FileNotFound例外で失敗NHibernate.dllを使用しています。

テストプロジェクトの出力ディレクトリ(Test/bin/debug)からテストを実行する方法はありますか?

もしそうでなければ、どのDLLをtempディレクトリにコピーするのかを指定するにはどうすればよいですか?

答えて

13

ソリューションに、というファイルを展開するすべてのファイルを記述するファイルを追加できます。

まず、TestSettingsファイルを追加します。それを開き、 "Deployment"タブで、必要なファイル(.dll)をすべて追加します。 TeamCityのMSTestビルドステップで、 "追加コマンドパラメータ"エリアで使用するTestSettingsファイルを指定します。例:"/testsettings:Local.Testsettings"

このようにして、展開項目で指定したすべてのファイルがtempディレクトリにコピーされます。

+0

優秀な、これは私の日、あなたダ男を救った! –

+3

これは私を助けてくれました - ありがとう!他の人に役立つ2つのメモ:まず、TeamCity設定の場合、 "MSTest実行構成ファイル:"にxxx.Testsettingsファイルを指定することができました。第2に、このフィールドにはTeamCityの作業ディレクトリからのファイルへのパスが必要です。これは本質的にリポジトリの最上位レベルです。 – ruttopia

関連する問題