2012-04-24 47 views
4

我希望TeamCity运行我的mSpec测试并报告测试覆盖的代码。如果dotCover没有报告足够高的结果,我该如何使TeamCity生成失败?

我也想TeamCity的报告,构建失败如果在某些命名空间中的代码覆盖率未达到阈值(如MyProduct.ImportantStuff必须100%,但MyProduct.LegacyStuff必须是[23%或者不管目前是什么来确保我们不添加新的东西,但没有覆盖测试]。

我最初看着dotCover,因为它已经集成到TeamCity中了。我一直在看OpenCover,因为我无法获取TC在低覆盖率下失败。

我得到了OpenCover的工作,但我仍然想知道(因为我敢肯定会有很多人)如果代码覆盖率太低,如何让TC失败。

回答

5

您是否使用最新的TeamCity,即版本7?

当设置一个构建配置,你可以指定此:

enter image description here

地段相关的代码覆盖率下拉更多的选择。如果您使用其他代码覆盖率工具,也可以强制构建失败。 例如,您可以呼应一行然后将由TeamCity的拾起控制台:

##teamcity[buildStatus status='FAILURE' text='something failed'] 

看到这个here

+0

嗨@Wal官方的文档。是的,使用最新版本。如果某些程序集低于一定比例,我特意寻找一种失败的方法。内置的东西似乎不可行。我可以通过使用OpenCover,然后运行ReportGenerator,然后在摘要XML中执行一些XPath查询来获得所需的结果。 – 2012-04-25 12:54:32

+0

ok,然后你可以发射(到控制台)'## teamcity [buildStatus status ='FAILURE''发送消息给TC。在我的帖子中查看该链接,查看完整语法 – wal 2012-04-26 01:26:53

+0

这是TC忽略错误代码并很高兴地说“过程用代码0退出”的一个很好的解决方法。神奇! – starmandeluxe 2017-04-13 04:11:58

相关问题