После того, как OpenCover будет работать на моей машине, следующий шаг - заставить его работать с сервером сборки.
Я пытался интегрировать OpenCover с MSBuild на сервере Bamboo Build. Я изменил Build.proj следующим образом для запуска OpenCover после построения решения:
<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>
Каталог «Покрытие» создается в корневом каталоге решения (который является рабочим каталогом во время сборки). Тесты выполняются и все проходят, но после отображения Committing....
в журнале сборки (что будет отображаться в командной строке) результаты не генерируются, и сборка переходит к следующей задаче (создание отчета с помощью ReportGenerator - это не удалось, так как CodeCoverageResults.xml не был создан).
При запуске той же команды в командной строке на компьютере сборки все работает как положено, и ReportGenerator может сгенерировать отчет.
У кого-нибудь еще была такая же проблема? Нужно ли регистрировать эквивалентные DLL, как в этом примере PartCover?