因此,除报告代码覆盖率外,我们的TFS 2013版本可以正常运行。我在这里看到过类似的问题,例如TFS 2013 - No Code Coverage Results,但我们已经尝试了建议的修补程序但没有结果。
更新1 - 我们已采取更多措施尝试解决此问题;这里有完整的清单:
构建过程本身运行正常。当我们在IDE中本地构建项目时,我们可以获得代码覆盖率结果。在构建服务器上,MSTest和NUnit测试项目运行正常,我们按预期看到通过/未通过结果。 "无代码覆盖率结果"消息仍然困扰着我们。
更新2 - 以下是我们在运行日志中看到的内容:
有人在https://stackoverflow.com/a/16198120/141508建议使用自行开发的代码覆盖率计算器,但在2013年TFS上投入150亿美元,这是一种犯罪行为。使用MSDN的VS Ultimate 2013仍然没有这个基本功能正常工作。
答案 0 :(得分:3)
将运行设置文件添加到源代码管理。将测试设置为自定义并指向运行设置文件。有关使用.runsettings文件的更多信息,请访问msdn:http://msdn.microsoft.com/en-us/library/jj159530.aspx
答案 1 :(得分:1)
我遇到了同样的问题。我的问题在于ModulePath。 MSDN示例建议您只使用目标二进制文件的名称。那不适合我。但是,当我将名称作为正则表达式时,它起作用了。我也将构建输出转储到一个文件夹中,以便找到pdb和其他引用文件。希望有所帮助。
<ModulePath>.*Administration\.dll.*</ModulePath>
答案 2 :(得分:1)
我正在使用带有Visual Studio Online的本地构建服务器和.runsettings文件,我遇到了完全相同的问题。
上面的技巧都没有帮助,所以我在托管构建控制器上测试了构建脚本并且工作正常,所以我认为问题必须是构建服务器本身。
我更改了#34;网络服务&#34;的构建服务帐户。到TFS配置工具中的常规Windows用户帐户,现在收集代码覆盖率。请注意,此用户需要访问TFS构建目录。
答案 3 :(得分:0)
我发现了这个问题,因为我看到了这篇文章特有的内容。 (查找“延迟”设置,默认为60)。
d。添加一个新参数'Delay',输入如下所述的详细信息 名称 - 延迟,方向 - 输入,ArgumentType-Int32,默认值 - 60 此参数是延迟覆盖检查所必需的,因此构建代理填充了所需的构建详细信息,此延迟因此而异 系统到系统,在某些情况下可能根本不需要。
http://www.prowareness.com/blog/failing-build-on-insufficient-code-coverageblock-coverage-part-3/
也许尝试在您正在使用的模板中加入“延迟”工作流项目.......