让 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 生成报告。
还有其他人遇到同样的问题吗?我是否需要注册等效的 dll,例如this零件覆盖示例?
由于构建服务器是一项服务,所以我只会使用 -register 开关,但是如果在构建服务器上,我总是会说你应该使用 regsvr32 注册 32 位和 64 位分析器一次,然后删除 -register 开关,即无需每次都注册和注销分析器。
-register[:user] 开关适用于人们(比如我自己)喜欢在有限权限下工作的场景。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)