4
在我的測試中,我正在使用連接到數據庫,我打開連接@Before
並關閉它在@After
。最後在Java Junit 4中
我的問題是如果在測試期間拋出異常會發生什麼?
我該如何關閉連接?
我正在尋找相當於finally
的東西,它位於try和catch塊之後。
在我的測試中,我正在使用連接到數據庫,我打開連接@Before
並關閉它在@After
。最後在Java Junit 4中
我的問題是如果在測試期間拋出異常會發生什麼?
我該如何關閉連接?
我正在尋找相當於finally
的東西,它位於try和catch塊之後。
@After
會做你想做的。根據其documentation:
即使Before或Test方法拋出異常,所有@After方法都保證運行。
(這直覺對我來說很有意義,因爲我想象中的測試方法,裹在try
塊,將捕獲任何異常,將其轉換爲一個測試失敗。因此,測試失敗,那麼拆機塊運行。 )
請注意,如果引發了Error
,它不會指定該方法將運行。通常,雖然您只使用@After
方法來維護測試狀態,但這不會造成問題,因爲在這種情況下無法運行更多測試。如果確實需要使用測試中必須清理的任何資源(例如本機掛鉤),那麼最好在測試方法本身的try-finally
塊中執行此操作。