自分のマシンで OpenCover を動作させたら、次のステップはそれをビルド サーバーで動作させることです。
OpenCover を Bamboo Build Server 上の MSBuild と統合しようとしています。ソリューションのビルド後に OpenCover を実行するように Build.proj を次のように変更しました。
<Target Name="TestAndCodeCoverage" DependsOnTargets="Build" >
<Message Text="Executing Unit Tests and running OpenCover to check code coverage..." />
<MakeDir Directories="Coverage" />
<Exec Command='"C:\Program Files (x86)\OpenCover\OpenCover.Console.exe" -target:"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\MSTest.exe" -targetargs:/testcontainer:"TestProject\bin\Release\TestProject.dll" -filter:+[*]* -output:Coverage\CodeCoverageResults.xml -register:user -mergebyhash' />
</Target>
"Coverage" ディレクトリは、ソリューション ルート ディレクトリ (ビルド中の作業ディレクトリ) に作成されます。テストが実行され、すべて合格しCommitting....
ますが、ビルド ログ (コマンド ラインに表示されるもの) に表示された後、結果は生成されず、ビルドは次のタスク (ReportGenerator を使用してレポートを作成する) に進みます。これは次のように失敗します。 CodeCoverageResults.xml は作成されませんでした)。
ビルド マシンのコマンド ラインで同じコマンドを実行すると、すべてが期待どおりに機能し、ReportGenerator によってレポートを生成できます。
他の誰かが同じ問題を抱えていましたか?このPartCover の例のように、同等の dll を登録する必要がありますか?