私の問題は非常に単純です。msbuild と mstest を実行する CI サーバーがあります。
問題はMicrosoft.VisualStudio.QualityTools.UnitTestFramework.dll
、サーバーにVSをインストールしないと、CIサーバーとしてはかなりばかげているため、存在しないことです(mstestに関連する他のファイルもあると思います...)。
どうすればこれを修正できますか?
私の問題は非常に単純です。msbuild と mstest を実行する CI サーバーがあります。
問題はMicrosoft.VisualStudio.QualityTools.UnitTestFramework.dll
、サーバーにVSをインストールしないと、CIサーバーとしてはかなりばかげているため、存在しないことです(mstestに関連する他のファイルもあると思います...)。
どうすればこれを修正できますか?
残念ながら、2005年または2008年にビルドエージェントマシンにVSをインストールする必要があることを回避するためのサポートされた簡単な方法はありません(2010年にテストエージェントインストーラーがあります)。更新:ほぼ同じことを言っている詳細については、スティーブ・スミスからのこの投稿を参照してください
アセンブリが欠落しているだけではありません。テストを実行する場合、ランナーは単なる個別の小さなEXEとDLLではありません。
はい、信じられません!言うまでもなく、地球上でこの制限がある他のテストフレームワークはほとんどないため、多くのテストがない限り、さまざまな理由で移動を検討できます。たとえば、次のようなさまざまな理由があります。 MSTestを使用して..。
編集:Rihanの返信に促されて、私はVisualStudioなしで次の実行中のmstestを呼び出しました。-完全にはサポートされていませんが、「機能します」...
編集2:Visual StudioなしでMSTestを実行する-Gallioは、サポートされており、ハッキーではないという点で、はるかに有望に見えます。NBこの投稿に関する@JohannesRudolphのコメントを参照してください。
編集3:この質問に関する2010年のステータスに関する情報を追加
注:MSTestの/publishパラメーターをサポートするために必要なものに関して2008年にも同様の質問があります。- TeamBuildサーバーでMSTEST.exe/ publishを実行します。前提条件は何ですか?
@Ruben Bartelink : テスト エージェントをインストールすることで、マシンに mstest.exe を取得できます。@指定された場所で見つけることができます。インストール後、mstest.exe を /testcontainer および /test オプションで起動します。正常に実行され、trx ファイルが作成されます。trx を処理してレポートを生成できるものを確認してください。
http://www.microsoft.com/en-us/download/details.aspx?id=38186
私と Visual Studio 2010 の具体的な解決策は次のとおりです。
統合サーバーにCruiseControlがセットアップされています。Visual Studioをインストールしていませんが、MSTESTアセンブリをGACにコピーしました。次に、Cruise Control Documentationを使用して、テストレポートを設定しました。非常にうまく機能します。