15.junit測試類使用及注解


 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,則會出現警告:

 

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

 

 

 

 

5.如果我們不想在junit里寫測試方法.直接運行被測試的方法

在被測方法前面添加@Test即可,如下所示,比如測試DomParseTest類的DomTest方法:

 

 

 

 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM