2015-02-10 77 views
2

我正在學習JUnit 4.我遇到了註解@Test(Timeout =)。當我運行這個測試用例時,如果執行超過指定的毫秒數,則顯示爲Error。我想這應該是失敗!如果有人能解釋我爲什麼這是一個錯誤而不是失敗。由於爲什麼JUnit超時錯誤沒有失敗?

Screenshot of JUnit in Eclipse Luna

+0

非常相關:[JUnit中的失敗和錯誤有什麼區別?](http://stackoverflow.com/questions/3425995/whats-the-difference-between-failure-and-error-in-junit)。 – 2015-02-10 13:59:07

回答

2

故障是當你做出斷言的,它原來是假的。這意味着你的代碼沒有產生正確的結果來滿足你的測試。或者你的測試代碼是錯誤的。

錯誤是指當發生意外事件並防止您的測試正常完成時。超時很適合這個類別 - 它們是一個安全網,以確保您的構建將始終完成,即使您的測試自行消失。通過使用超時,你是而不是作出關於運行時的斷言,你只是防禦無限的構建。

+0

很好的解釋,尤其是第二段。謝謝你,先生 – Ajeetkumar 2015-02-11 05:08:45

相關問題