2

Visual Studio 2012 からのユニット テスト結果とコード カバレッジ レポートを CruiseControl.NET ビルド レポートに簡単に表示しようとしています。部品は次のとおりです。

  • MSBuild - プロジェクトをビルドします
  • vstest.console.exe - コマンド ライン経由で Visual Studio ユニット テストとコード カバレッジ ツールを実行する
  • カバレッジ レポートを XML に変換するカスタム コンソール アプリケーション

私の問題は、vstest.console.exe の出力名をどのように制御できるかです。とにかくこれを制御する方法が見つかりません。この時点での私の唯一の解決策は、カスタム スクリプトを作成してカバレッジ ファイルと TRX ファイルを見つけ、名前を既知の値に変更することです。その後、クルーズ コントロール ツールはファイルを適切に見つけることができます。

どんな助けでも大歓迎です。ありがとう、

4

2 に答える 2

1

コマンドラインは非常に制限されているように見えます:

http://msdn.microsoft.com/en-us/library/vstudio/jj155796.aspx

「TRX ロガーはパラメーターをサポートしていません (TFS パブリッシャー ロガーとは異なります)。」

から:

vstest.console.exe の結果ファイル名の指定

ここに一般的なヒントがあります。

CC.NET について考える 1 つの方法は次のとおりです。これは、大きくて凝った "Msbuild.Exe" エグゼキュータです。

したがって、msbuild (.proj) ファイルにロジックを記述できれば、CC.NET でそれを呼び出すことができます。

1.  CC.NET calls a source-control retrieve task.
2.  In that retrieve, there is a .proj file.
3.  You get CC.NET to call "msbuild.exe MySolutionBuild.proj"
4.  Have the .proj file run Unit-Tests, create xml, create artifacts (.zip(s) or .msi(s), etc)
5.  After the build, have CC.NET pull in the results (usually xml with File-Merge) and have CC.NET send out emails (publishers).

このようにすれば、TFS (または Jenkins など) に移行することがあれば、移行の労力を最小限に抑えることができます。

CC.NET独自のコマンドに大きく依存している場合、それを機能させることはできますが、IMHOを維持するのは困難です.

于 2013-10-23T16:07:05.877 に答える