Junit Test Timeout小技巧示例,技能爆表!

這篇文章為大家講一下Junit Timeout的幾種使用方式。Junit提供了很好的超時方法測試,下面跟大家一起學習分享。

1、簡單介紹

單元測試的時候,我們有時候會希望我們的測試方法在指定的時間內完成,比如5秒鐘。但實際的測試程序可能會執行較長的時間,有可能會超過我們的預期值。這時候我們就要進行限定測試方法執行的時間。這個時候用Junit就可以輕鬆搞定。

2、設置超時測試的方式

Junit提供了3中不同的方式設置超時

A、設置@Test註解的參數

B、使用全局的@Rule註解

C、最後,可以使用@ClassRule註解

這3種設置在Junit里很方便的去設置,滿足大家不同的測試場景。

3、示例代碼和測試類

Advertisements

示例Bank.java類

Bank類示例

測試類示例

3.1使用@Test註解添加參數的形式

使用@Test註解添加參數形式

3.2使用@Rule註解

直接上代碼,看下圖

使用@Rule註解

這裡,我們簡單的一開始就添加了@Rule註解,這個註解限定時間包括這個類里每個測試方法,包括@BeforeClass和@Before註解的方法。

3.3、使用@ClassRule註解

如果我們想驗證一個類里所有的方法在指定的時間內執行完成,我們可以使用@ClassRule註解。

使用@ClassRule註解

註:@Rule和@ClassRule兩個有很大的迷惑性,前者是測每一個方法的限定時間;後者是限定一個類里所有方法的執行時間。如果還有疑問,在下面回復提問吧。

Advertisements

4、總結

通過這個示例,我們學會了Junit單元測試的三種Timeout限定方法,大家可以根據自己的測試場景去使用。

Junit


歡迎大家關注「技術佈道者」頭條號,可以隨時提問,大家一起探討,一起學習。

Advertisements

你可能會喜歡