天天看點

Junit中error和failure差別

JUnit 中有兩種錯誤類型,一個是 failure ,另一個是 error 。這兩者之間的差别很微妙,但是我們如果能夠了解這種差别的話,對我們使用 JUnit 将會非常有幫助的。

通常來說, failure 表示所測試的産品代碼( production code )有問題,也就是受測的産品代碼沒有正确的實作設計上所要求的功能。這個時候我們需要對産品代碼進行檢查、修改,使得它的行為能夠符合設計說明書上所預想的情況。而當報告 error 時,則可能是測試代碼本身有問題,或者系統的運作環境出現了狀況。比方說測試代碼中所期望的值( expected value )是錯誤的——也就是說有可能産品代碼所傳回的結果是正确的,但是測試代碼期望了一個錯誤的答案;也可能是磁盤已滿、網絡中斷等等外部環境失敗所帶來的影響。

一般情況下,如果 JUnit 測試後報告有若幹 failuer 、若幹 error ,我們應該首先查找産生 error 原因,并且加以修複。在修複 error 之後,重新運作 JUnit 進行測試,如果沒有出現 error 的話,我們在着手開始調查、修複 failure 。