2012-04-24 46 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

相關問題