【问题标题】:Code coverage does not work on TFS 2010 build server代码覆盖在 TFS 2010 构建服务器上不起作用
【发布时间】:2011-12-28 17:29:41
【问题描述】:

我们有一个带有专用构建服务器的 TFS 2010 设置。生成问题的解决方案的构建运行良好,并且还正确运行了所有相关的单元测试。然而,问题是没有显示代码覆盖率(在本地它可以工作)。我确实仔细检查了以下内容:

  • 正在使用的构建定义将“分析测试影响”设置为“真”
  • 自动测试/测试程序集下引用的 TestSettings 文件是“Local.testsettings”
  • “Local.testsettings”文件启用了“代码覆盖率”(在数据和诊断下)并且...
  • ...“Instrument assembly in place”还配置了重新签名密钥文件 (.snk)
  • 我还尝试将密钥文件的路径更改为构建服务器上的 UNC 路径,因为我不确定它是否可以从那里获得

尽管执行了上述所有步骤,但我无法让代码覆盖率适用于我们的 TFS 上的构建。 “摘要”显示所有测试都已成功运行,下一行显示“无代码覆盖结果”。为构建本身生成的日志文件甚至没有在任何地方显示“覆盖”这个词,我不明白为什么我至少没有收到一条错误消息。

我在其他一些帖子中读到,至少需要安装 VS2010 Premium 才能在构建服务器上安装,但我也读到如果不这样做会导致一个适当的错误消息,所以我认为这不是我的问题的原因。

非常感谢任何正确方向的想法或指示,在此先感谢

G.

【问题讨论】:

  • 您正在构建发布二进制文件吗?代码覆盖率不适用于调试二进制文件。
  • 是的,很遗憾,“要构建的配置”已设置为“任何 CPU|发布”。

标签: tfs code-coverage tfsbuild


【解决方案1】:

您需要在构建服务器上安装 Visual Studio 才能收集代码覆盖率。阅读a great article如何设置它

【讨论】:

  • 尽管将日志级别设置为“诊断”,但我仍然不确定为什么没有错误消息。我已经安装了 VS2010 Premium + SP1,重启了系统,瞧!另一篇文章解释了imho更好的先决条件:msmvps.com/blogs/rfennell/archive/2010/08/05/…无论如何谢谢:-)
猜你喜欢
  • 2016-08-22
  • 1970-01-01
  • 2012-02-23
  • 2011-06-12
  • 1970-01-01
  • 2011-12-15
  • 2011-04-30
  • 1970-01-01
相关资源
最近更新 更多