Junit4的在普通java項目裏的運用

這裏是以junit4爲演示,引入和註解,不用再自己繼承測試類了,非常方便

一、Junit常用的註解

註解 解釋
@Before 和setUp()方法功能一樣,在每個測試方法之前執行
@After 和tearDown方法功能一樣,在每個測試方法之後執行
@BeforeClass 在所有方法執行之前執行(注意是在一個測試類的範圍)
@AfterClass 在所有的方法執行之後執行(注意是在一個測試類的範圍)
@Test 一個正常的測試方法的入口,分別這個方法是否是測試方法
@Test(timeout = xxx) 設置當前測試方法是否能在設置的時間內執行完,否則返回錯誤
@Test(expected = Exception.class) 是否有一場拋出,類型爲Exception.class
@Ignore 註釋掉一個測試方法或者一個類,不會被執行

下面解釋一下@Before、@After、@BeforeClass、@AfterClass的區別(特別注意的是這是在一個測試類裏的,不是所有測試類裏的)
在這裏插入圖片描述
上面這張圖就是執行順序。但是不要以爲@Before和@After在一個類裏就可以有多個,其實是這個類裏的@Before和@After在每個@Test執行前後都執行一次。而@BeforeClass和@AfterClass在在這個類被執行時才執行一次,當然如果你只執行此類中的一個方法,那@BeforeClass和@AfterClass也會執行一次相當於 @BeforeClass->@Before->@Test->@After->@AfterClass
所以在@BeforeClass裏面執行的是在所有測試方法執行之前需要的準備工作
@Before裏是每個方法執行前需要準備的工作,
@After和@AfterClass與之對應。
對於Test裏的就是個性化的單元測試了,如果你涉及到身份的不同,可以寫在@Test裏,如果對於身份的獲取可以單獨寫一個私有的方法,讓@Test調用或者整個測試類繼承基類,基類就是身份的獲取

二、Assert/fail有哪些方法

方法 解釋
assertEquals(boolean expected, boolean actual) 檢查兩個變量或者等式是否平衡
void assertTrue(boolean expected, boolean actual) 檢查條件爲真
void assertFalse(boolean condition) 檢查條件爲假
void assertNotNull(Object object) 檢查對象不爲空
void assertNull(Object object) 檢查對象爲空
void assertSame(boolean condition) 檢查兩個相關對象是否指向同一個對象
void assertNotSame(boolean condition) 檢查兩個相關對象是否不指向同一個對象
void assertArrayEquals(expectedArray, resultArray) 檢查兩個數組是否相等
void fail() 測試失敗

上面所有的方法都可以加一個String Message的參數,這個參數的含義是錯誤的信息,自己定義的,這樣便於我們在控制檯觀察錯誤信息的要點

三、Junit5

升級到JUnit5的7個理由
JUnit 5和JUnit 4比較

發佈了210 篇原創文章 · 獲贊 15 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章