2009-01-21 51 views
0

我設計了一個小型測試用例類,旨在使模擬更簡單(在這種情況下,使用JUnit 4和EasyMock)。其中一部分是在測試完成後驗證嘲笑,因此嘲笑在用@After註釋的方法中驗證。JUnit:確保在測試方法中出現故障之前,在@After方法中出現故障

但是,如果測試方法本身出現故障,導致測試未完成且模擬驗證失敗,則JUnit報告的失敗是驗證失敗。但是,如果報告的失敗是測試本身的失敗,那將會更有用。

那麼,在JUnit中有沒有辦法確保總是顯示測試方法中的錯誤/失敗,而不是使用@After註釋的方法中出現的錯誤/失敗?

回答

2

通常,@After註釋相當於tearDown(),它暗示它應該只進行測試清理,而不是運行測試或斷言。

我會對你的測試用例打電話給你「驗證」的方法,在每個測試用例,而不必JUnit的結束你調用

+0

由於許多測試將檢查是否符合模擬期望,所以在@After方法中使用該代碼是相當常見的做法。此外,你可以有多個@After方法,所以你可能有一個做模擬驗證,一個做拆解。如果你不需要,不要重複。 – cynicalman 2009-01-21 20:54:14

0

什麼聲稱是你在測試中做,在@After驗證是正在報告?如果存在斷言失敗(或調用fail()方法),那麼將報告該錯誤,並且不會報告after方法。測試方法是什麼樣子?