2012-03-07 53 views
2

我看到Cobertura有一個<cobertura:check>任務,可用於在構建時強制覆蓋(如果覆蓋率指標低於某個值,構建失敗)。該網站顯示了可用幾種不同的屬性的例子,但並沒有真正給予說明,以他們做他們是什麼,或者:Cobertura檢查和驗證

  • branchrate
  • linerate
  • totalbranchrate
  • 等。

此外,這些屬性中的每一個的標準值是什麼?我敢肯定,項目之間會有所不同,但必須有一些的方式讓組織評估什麼是可以接受的,哪些不可以,我想知道如何才能達到這個目標。提前致謝。

回答

0

也許the documentation已經改變,因爲你問這個問題,因爲我認爲你的答案就在那裏。

當時我寫這篇文章的時候,在回答您的具體問題是:

  • branchrate

指定每個類所需要的最低可接受分支覆蓋率。這應該是一個整數值0

之間和100

  • 線速
指定由每個類所需的最低可接受的線路覆蓋率。這應該是一個整數值0

之間和100

  • totalbranchrate
指定由項目作爲一個整體所需要的最低可接受的平均支覆蓋率。這應該是介於0和100之間的整數值。

如果您未指定分支率,線性率,總分枝率或總計,則Cobertura將對所有這些值使用50%。

有一點谷歌搜索顯示,大多數人都認爲「好」覆蓋率在75%到95%之間。我使用%85作爲新項目。但是,我認爲衡量您是否擁有足夠測試覆蓋率最有用的指標是您的開發人員在制定和發佈代碼更改時的舒適程度(假設您有負責引入錯誤的負責任開發人員)。請記住,在任何測試中,您都可以擁有100%的測試覆蓋率,而無需任何單一斷言!

對於傳統項目,情況通常比較複雜。很少有時間可以專注於覆蓋範圍,所以大多數時候你會發現你的代碼覆蓋範圍,然後嘗試改進它。我的夢想cobertura-check任務將檢查任何給定的行/方法/類/包/項目的覆蓋範圍是否與上一個構建相同或更好,並且對於「此構建中新增」的任何代碼具有單獨的閾值。也許Sonar有類似的東西...