JUnit測試單元框架

weixin_33912246發表於2016-02-23

junit框架介紹

JUnit ——是一個開發原始碼的Java測試框架,用於編寫和執行可重複的測試。他是用於單元測試框架體系xUnit的一個例項(用於java語言)。主要用於白盒測試,迴歸測試。

junit安裝步驟

  1. http://download.sourceforge.net/junit/ 中下載JUnit包並將Junit壓縮包解壓。
  2. 新增CLASSPATH環境變數.
  3. 雙擊“CLASS-PATH”關鍵字新增字串“?:\Junit4.0\Junti.jar”(注意,如果已有別的字串請在該
    字串的字元結尾加上分號“;”),這樣確定修改後Junit就可以在整合環境中應用了。
  4. 對於IDE環境,對於需要用到的JUnit的專案增加到lib中,其設定不同的IDE有不同的設定 。

junit使用規範

使用junit的時候,不應該把它和業務邏輯程式碼放在一起,應該新建一個類來做測試.

  1. 測試類命名
    規則: 被測試的類的類名+Test
    如:LoginTest
  2. 測試用例的命名
    規則:test+用例方法的名稱
    如: testSum
  3. 測試程式的包名定義規範
    規則 被測試的類的包名前加上test.
    如: test.com.lee.util

測試資料的準備方案

有三種方案可以選擇:

  1. 在程式中直接寫入測試資料.
  • 在輸出資料項不多的情況下可以採用
  1. 使用junitpack包中的InputDataUtil工具類
  • 需要加上 import junitpack InputDataUtil;
    這個測試方案要求把測試資料放在一個XML檔案中:
  1. ...

junit註解

使用junit註解,需要時用junit4版本.

  • 註解引數
  • @Test:使用該註解方法為測試方法,自動能夠識別並執行
    包含兩個引數 :
    expected = XXXException.class 期望出現的異常
    timeout = xxx 設定程式執行的超時時間.
    不能是靜態方法,不能傳形參
  • Ignore:被忽略的方法
  • Before:在每個測試方法之前被執行
  • After: 在每個測試方法之後被執行
  • BeforeClass : 在所有測試開始前執行
  • AfterClass: 在所有測試開始之後執行

特別注意:
<pre>
setUp(),tearDown(),setUpBeforeClass(),tearDownAfterClass()這四個方法其實就是對應的
@Before、@BeforeClass、@After、@AfterClass這四個註解,
在Junit4開始使用註解時,其實可以替代這四個方法的功能,只是這四個方法是歷史遺留方法,可以考慮使用,也可以直接使用註解替代。
</pre>

assertTrue(...)     引數的值應是true
assertFalse(...)    引數的值應是false  

assertNull(...)     應是null值
assertNotNull(...)  應是非null的值

assertSame(...)     使用==比較的結果為true(表示同一個物件)
AssertNotSame(...)  使用==比較的結果為false

assertEquals(...)   兩個物件equals()方法比較結果為true

程式碼示例


package com.lee;
import org.junit.Test;
public class junitDemo {
    public static void main(String[] args) {
        
    }
    
    public static int sum(){
        int x = 5;
        int y = 10;
        return x + y;
    }
}



package com.lee;

import org.junit.*;

public class junitDemoTest {

    @BeforeClass
    public static void setUpBeforeClass() throws Exception {
    }

    @AfterClass
    public static void tearDownAfterClass() throws Exception {
    }

    @Before
    public void setUp() throws Exception {
    }

    @After
    public void tearDown() throws Exception {
    }

    @Test
    public void testSum() {
        int max = junitDemo.sum();
        Assert.assertSame(15, max);
        Assert.assertEquals(new String("haha"), "haha");
        Assert.assertNotNull(max);
        Assert.assertTrue(true);
    }

}




給個github follow me的連結,上面有很多初學者可供學習的資料,專案.

<a>https://github.com/SuperZee</a>

相關文章