68
A
回答
105
行覆蓋率度量您採取了多少陳述(陳述通常是一行代碼,不包括註釋,條件等)。如果您爲每個條件(if,while,for)帶上true和false分支,分支覆蓋檢查。你將擁有兩倍於條件的分支。
你爲什麼在意?請看例子:
public int getNameLength(boolean isCoolUser) {
User user = null;
if (isCoolUser) {
user = new John();
}
return user.getName().length();
}
如果調用此方法isCoolUser
設置爲true
,你會得到100%的語句覆蓋率。聽起來不錯? NOPE,如果您撥打false
,將會出現空指針。但是,在第一種情況下,您有50%的分支機構覆蓋範圍,因此您可以看到測試中缺少某些內容(通常在代碼中)。
45
1
if(cond){
//branch 1
}else{
//branch 2
}
您需要解決所有行爲分支1和分支2以獲得LineCoverage和BranchCoverage的100%覆蓋率。
如果您完全錯過了其他任何東西,您將獲得一半的分支機構覆蓋面。 如果你錯過了if和else兩行中的任何內容,你將得到100%的BranchCoverage但不是100%的線覆蓋率。
希望這會有所幫助。
相關問題
- 1. 差異覆蓋
- 2. 覆蓋 - 參數差異
- 3. 瀏覽器和Firebug覆蓋差異
- 4. 多重條件覆蓋是否意味着分支覆蓋?
- 5. 從分支覆蓋
- 6. 如果您將某個分支合併到主分支中,是否合併了分支覆蓋的差異?
- 7. 塊覆蓋和分支覆蓋有什麼區別?
- 8. 問題有關的語句覆蓋,分支覆蓋和路徑覆蓋
- 9. 覆蓋和推進一個Git分支
- 10. 這條線覆蓋陣列
- 11. 線路,分支和獨立路徑覆蓋的區別?
- 12. NCover分支覆蓋範圍
- 13. JaCoCo內分支覆蓋
- 14. 覆蓋差異訪問規範C++
- 15. Kotlin val差異getter覆蓋vs作業
- 16. ARM64/ARM32差異分支
- 17. 源安全分支差異
- 18. clearcase在父分支和子分支之間創建差異
- 19. 代碼覆蓋率/分支覆蓋建議值
- 20. 如何進行單元測試以覆蓋異常分支
- 21. 聲明和決策覆蓋範圍之間的差異
- 22. 防止控制檯覆蓋一條線
- 23. @route註釋覆蓋另一條路線
- 24. Chartjs線條圖覆蓋面板
- 25. TFS:用另一個覆蓋分支
- 26. Git中的覆蓋分支(Perforce)
- 27. 構造函數未覆蓋的分支
- 28. git合併分支覆蓋目的地
- 29. 覆蓋使用git的特定分支
- 30. Python的覆蓋範圍和郵差
很好的回答!它顯示了線路覆蓋給出錯誤的良好代碼感覺! – MAGx2