OpenCover MSBuild集成-未生成结果

Jac*_*ack 4 msbuild mstest code-coverage bamboo opencover

使OpenCover在我的计算机上工作后,下一步就是使其与构建服务器一起工作。

我一直在尝试将OpenCover与Bamboo Builder服务器上的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>
Run Code Online (Sandbox Code Playgroud)

在解决方案的根目录中创建“覆盖”目录(该目录是构建期间的工作目录)。运行了测试并全部通过,但是在Committing....Build日志中显示之后(命令行中将显示什么),没有生成结果,并且Build继续执行下一个任务(使用ReportGenerator创建报告-由于失败,因此未创建CodeCoverageResults.xml)。

在构建计算机上的命令行中运行同一命令时,所有操作均按预期进行,并且ReportGenerator可以生成报告。

还有其他人有同样的问题吗?是否需要像 PartCover示例中一样注册等效的dll ?

Sha*_*lde 5

由于构建服务器是一项服务,因此我只会使用-register开关,但是,如果在构建服务器上,我总是会说您应该使用regsvr32一次注册32位和64位分析器,然后删除-register开关,即无需每次都注册和注销分析器。

-register [:user]开关适用于人们(例如我自己)喜欢在有限权限下工作的那些情况。