0

我正在尝试将 Opencover 与 TFS2013 集成以实现自定义代码覆盖率。我通过使用构建过程模板中的 InvokeProcess 活动通过构建定义和调用 OC 来传递运行 Open Cover 所需的参数。

我正在关注 这个博客中提到的过程,这里这里

传递的最终 OpenCover 参数是

OpenCover.Console.exe -register:user  -target:"C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe"  -targetargs:"<build_definition_folder>\bin\NUnitTestDemo.dll <build_definition_folder>\bin\UnitTest.dll  /Platform:X86 /Framework:Framework45 /Logger:trx "  -targetdir:"<build_definition_folder>\bin"  -mergebyhash  -output:"<build_definition_folder>\bin\results.xml"

输出如下

总测试:2。通过:2。失败:0。跳过:0。

试运行成功。

测试执行时间:0.6657 秒

提交...

没有结果,这可能有多种原因。最常见的原因是:

1) 缺少与过滤器匹配的程序集的 PDB,请查看输出文件并参阅有关过滤器的使用指南 (Usage.rtf)。2) profiler 可能没有正确注册,请参考使用指南和-register 开关。

请帮我。PDB 仅存在于同一 bin 文件夹中。我尝试在我的机器上使用Open Cover UI在本地运行 Open Cover ,结果很好。但是对于控制台应用程序,它在构建服务器中无法正常工作。

4

1 回答 1

1

我之前遇到过这个问题,这是因为我的构建服务是使用“网络服务”帐户运行的。在我将其更改为使用管理员帐户运行后,它可以正常工作,结果生成成功。

我的解决方法:停止构建服务并更改“属性”中的设置以将服务作为管理员帐户运行。然后启动构建服务并排队一个新的构建。在此处输入图像描述

于 2016-01-27T08:22:10.633 回答