我希望TeamCity运行我的mSpec测试并报告测试所涵盖的代码。
我还希望TeamCity报告构建失败如果某些命名空间中的代码覆盖率未达到阈值(例如MyProduct.ImportantStuff
必须 100% ,但MyProduct.LegacyStuff
必须是[ 23% 或当前的任何内容,以确保我们不会在未涵盖测试的情况下添加新内容]
我最初看过dotCover,因为它已集成到TeamCity中。我一直在关注OpenCover,因为我无法让TC在低覆盖率下失败。
我让OpenCover工作但我仍然想知道(因为我确信很多人会这样做)如果代码覆盖率太低,如何让TC失败。
答案 0 :(得分:6)
您使用的是最新的TeamCity,即版本7吗?
设置构建配置时,您可以指定:
在与代码覆盖率相关的下拉列表中有批次更多选项。如果您正在使用其他代码覆盖工具,也可以强制构建失败。 例如,您可以将一条线回显到控制台,然后由teamcity接收:
##teamcity[buildStatus status='FAILURE' text='something failed']
请参阅此here
上的官方文档