15.junit測試類使用及註解

 1.junit簡介

JUnit是一個Java語言的單元測試框架,能夠大大縮短你的測試時間和準確度。多數Java的開發環境都已經集成了JUnit做爲單元測試的工具。html

 

2.實現junitDemo示例

2.1首先建立一個project:數據庫

 

2.2而後輸入項目名,點擊finish:框架

 

2.3而後在src裏建立咱們要測試的mathDemo類:ide

 

2.4輸入mathDemo類名,點擊finish:工具

 

2.5 matchDemo類定義以下:post

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測試類以下所示:spa

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)講解

相關文章
相關標籤/搜索