在让 OpenCover 在我的机器上工作之后,下一步是让它与构建服务器一起工作。
我一直在尝试将 OpenCover 与 Bamboo Build Server 上的 MSBuild 集成。在构建解决方案后,我已按如下方式修改了 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>
“Coverage”目录是在解决方案根目录(构建期间的工作目录)中创建的。测试已运行并全部通过,但在Committing....
构建日志中显示(将在命令行中显示的内容)之后,没有生成任何结果,并且构建继续执行下一个任务(使用 ReportGenerator 创建报告 - 这失败为CodeCoverageResults.xml 未创建)。
在构建机器上的命令行中运行相同的命令时,一切都按预期工作,并且可以由 ReportGenerator 生成报告。
有没有其他人有同样的问题?我是否需要像这个PartCover 示例一样注册等效的 dll?