15.junit測試類使用及註解
- 2019 年 10 月 7 日
- 筆記
1.junit簡介
JUnit是一個Java語言的單元測試框架,可以大大縮短你的測試時間和準確度。多數Java的開發環境都已經集成了JUnit作為單元測試的工具。
2.實現junitDemo示例
2.1首先創建一個project:

2.2然後輸入項目名,點擊finish:

2.3然後在src里創建我們要測試的mathDemo類:

2.4輸入mathDemo類名,點擊finish:

2.5 matchDemo類定義如下:
package com.my.mathdemo; public class mathDemo { public int add(int a,int b) { return a+b; } public int multiply(int a,int b) { return a*b; } }
接下來我們便來創建junit,來測試mathDemo類的add和multiply方法
2.6 然後我們創建一個junit測試類

2.7輸入junit名,點擊finish:

2.8 TestMyMath測試類如下所示:
public class TestMyMath { @Test public void testAdd() { mathDemo math = new mathDemo(); assertEquals(math.add(11, 5), 16); //測試11+5是否等於16 assertEquals(math.add(3, 5), 9); //故意寫個錯誤的加法測試 } @Test public void testMultiply() { mathDemo math = new mathDemo(); assertEquals(math.multiply(10, 5), 50); //測試10*5是否等於50 } }
在上面,我們故意寫了一個錯誤的測試,然後run運行後,如下圖所示,可以看到報錯log:

3.為什麼測試方法前面要加@Test?
這是jdk1.5新增加的註解功能,並且對於junit類而言,每個方法前的註解必須存在,否則會報錯,因為編譯器不知道這個方法是用來測試哪個用途上.
而@Test表示該方法為測試方法,除了@Test外還有:
- @BeforeClass : 該方法表示啟動測試類對象測試之前啟動的方法, 所以該方法必須是static 修飾的(可以通過類名直接訪問).一般用來打開配置文件,初始化資源等
- @AfterClass :該方法表示測試類對象測試完成之後啟動的方法, 所以該方法必須是static 修飾的(可以通過類名直接訪問).一般用來關閉數據庫,結束資源等
- @Before :該方法表示調用每個測試方法前都會被調用一次
- @After :該方法表示調用每個測試方法後都會被調用一次
- @Ignore :已經被忽略的測試方法 ,我們測試的話,會自動過濾掉
4.而JAVA內置註解有三種(除此外,還有其它註解,後面遇到在詳細補充)
- @Deprecated : 表示該方法已被棄用(一般表示該方法不適合當前版本),一般會有最新的方法來替代它
- @Override: 覆蓋父類方法
- @Suppvisewarning: 忽略警告,比如我們定義了一個未使用的變量,或者調用一個已經被棄用的方法(通過@Deprecated聲明的方法),都會出現警告,通過該註解則可以忽略掉
@Suppvisewarning常用的參數有:
- @SuppressWarnings("all") : 告訴編譯器忽略掉所有警告
- @SuppressWarnings("unused") : 告訴編譯器忽略掉未定義了未使用的變量
- @SuppressWarnings("unchecked") : 告訴編譯器忽略 unchecked 警告信息,如使用List,ArrayList等未進行參數化產生的警告信息。
- @SuppressWarnings("serial") : 如果編譯器出現這樣的警告信息:The serializable class WmailCalendar does notdeclare a static final serialVersionUID field of type long 使用這個注釋將警告信息去掉。
- @SuppressWarnings("deprecation") : 如果使用了使用@Deprecated注釋的方法,編譯器將出現警告信息。 使用這個注釋將警告信息去掉。
- @SuppressWarnings("unchecked", "deprecation") : 告訴編譯器同時忽略unchecked和deprecation的警告信息。
如下圖所示,我們定義一個未使用的int i,則會出現警告:

雙擊後,可以看到已經忽略警告:

未完待續,下章學習 16.XML語法、CDATA、約束(DTD、Schema)講解