2

我使用OpenCover(和ReportGenerator)在我的CI構建過程中檢查我的代碼覆蓋率。我可以從OpenCover獲得代碼覆蓋百分比

如果覆蓋不符合給定的閾值,是否有可能讓OpenCover失敗我的構建?

我環顧四周,但找不到任何方法來實現此目的。我可以窺探生成的報告嗎?

編輯:對不起,我應該提到我正在使用Nant構建腳本。

回答

2

因爲您還沒有提及您擁有的CI服務器或其用於腳本的用途,我將以一般方式以nant爲例做出響應。

如果CI服務器能夠對XML文檔執行XPath查詢,例如你可以使用xmlpeek task。然後你可以使用下面的查詢來獲取序列的點數

count(//SequencePoint) 

這個查詢來獲取訪問序列的點數

count(//SequencePoint[@vc!='0']) 

,並從這兩個數字可以得出一個百分比,那麼你可以通過例如失敗構建你可以使用fail task

+0

你,先生,是一個巫師!感謝堆。 – berko 2012-02-02 04:43:49

+1

讓我感到困惑一點,應該注意的是,如果你的過濾器設置錯誤,你可以得到序列點計數錯誤的結果。通過在過濾器中指定 - [\ *] {Company Prefix}。{DataSet的名稱},我已從覆蓋率度量標準中排除(或認爲我已排除)強類型DataSet。雖然這成功地從篩選中排除了DataSet,但它_did not_不包括表示數據表的DataSet中的嵌套類。添加額外的過濾器值( - [\ *] {Company Prefix}。{DataSet的名稱}/\ *)修正了一些事情。 – 2012-04-05 20:44:26

相關問題