單元測試的合理代碼覆蓋率是多少(以及為什么)?如果你要求單元測試的最小代碼覆蓋率,甚至可能作為提交到存儲庫的要求,它會是什么?請解釋你是如何得出答案的(因為如果你所做的只是選擇一個號碼,那么我本可以自己完成這一切;)
3 回答

Qyouu
TA貢獻1786條經驗 獲得超11個贊
如果100%覆蓋率是您的目標(而不是對所有功能進行100%測試),則代碼覆蓋率是一種誤導性指標。
你可以通過一次擊中所有線來得到100%。但是,您仍然可能錯過測試命中這些行的特定序列(邏輯路徑)。
您無法獲得100%但仍測試了所有80%/ freq使用的代碼路徑。測試每個'拋出ExceptionTypeX'或類似的防御性編程守衛你測試的是'很高興'而不是'必須擁有'
因此,請相信自己或您的開發人員要徹底,并通過他們的代碼覆蓋每條路徑。務實,不要追逐神奇的100%報道。如果您使用TDD代碼,則應獲得90%以上的獎金。使用代碼覆蓋來突出顯示您錯過的代碼塊(如果您使用TDD,則不應該發生..因為您只編寫代碼以進行測試通過。沒有合作伙伴測試,代碼就不會存在。)

動漫人物
TA貢獻1815條經驗 獲得超10個贊
代碼覆蓋率很高,但功能覆蓋率更高。我不相信我寫的每一行。但我確實相信我想要提供的所有功能的100%測試覆蓋率(即使是我自己帶來的超酷功能,也沒有在會議期間討論過)。
我不在乎我是否會有測試中沒有涉及的代碼,但我會關心我是否會重構我的代碼并最終有不同的行為。因此,100%的功能覆蓋是我唯一的目標。
- 3 回答
- 0 關注
- 4742 瀏覽
添加回答
舉報
0/150
提交
取消