如果 dotCover 没有报告足够高的结果,我该如何使 TeamCity 构建失败?

6
我希望TeamCity能够运行我的mSpec测试并报告测试覆盖的代码。
我还希望TeamCity能够报告构建失败,如果某些命名空间的代码覆盖率未达到阈值(例如
我最初看了dotCover,因为它与TeamCity集成。之后我看了OpenCover,因为我无法让TC在覆盖范围低时失败构建。
我已经使OpenCover工作,但我仍然想知道(我相信很多人也是),如何使TC在代码覆盖率过低时失败构建。

只是针对您在TC和dotCover低覆盖率时未能失败的问题提供反馈。此URL证实,问题可能出在您选择报告的度量上。您应该使用“语句覆盖率百分比”- https://teamcity-support.jetbrains.com/hc/en-us/community/posts/115000670244-TeamCity-and-DotCover-does-not-provide-number-of-covered-lines- - maurocam
1个回答

6
你是否正在使用最新版本的TeamCity,即版本7?
在设置构建配置时,您可以指定以下内容: enter image description here 下拉列表中有更多与代码覆盖率相关的选项。如果您使用其他代码覆盖工具,还可以强制生成失败。例如,您可以将一行文字回显到控制台,然后由TeamCity捕获:
##teamcity[buildStatus status='FAILURE' text='something failed']

关于这个问题,可以在官方文档 这里 查看详细信息。


嗨@Wal。是的,使用最新版本。我特别想找到一种方法,如果某些程序集低于某个百分比就会失败。这似乎无法通过内置的东西实现。我可以通过使用OpenCover,然后运行ReportGenerator,然后在摘要XML中执行几个XPath查询来实现所需的结果。 - Steve Dunn
1
好的,然后您可以发出(到控制台)##teamcity[buildStatus status='FAILURE'以将消息发送到TC。请按照我帖子中的链接查看完整语法。 - wal
这是一个很好的解决方法,当TC忽略错误代码并愉快地说“进程以代码0退出”时。神奇! - starmandeluxe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接