JUnit 簡明使用方法

 看看代碼就懂了,裏面有詳細註釋。

AddAndSub.Class

/**  
 * 我們通常的做法如下:  
 * 從這個測試方法可以看出,業務代碼和測試代碼放在一起,對於複雜的業務邏輯,一方面代碼量會非常龐大,  
 * 另一方面測試代碼會顯得比較凌亂,而JUnit就能改變這樣的狀況,它提供了更好的方法來進行單元測試。  
 *  
 */  
public class AddAndSub {   
  
    public int add(int m, int n) {   
  
        int num = m + n;   
  
        return num;   
  
    }   
  
    public int sub(int m, int n) {   
  
        int num = m - n;   
  
        return num;   
  
    }   
  
    /**  
     * @param args  
     */  
    public static void main(String[] args) {   
        AddAndSub addAndsub = new AddAndSub();   
        if (addAndsub.add(4, 6) == 10) {   
  
            System.out.println("Test Ok");   
  
        } else {   
  
            System.out.println("Test Fail");   
  
        }   
  
        if (addAndsub.sub(6, 4) == 2) {   
  
            System.out.println("Test Ok");   
  
        } else {   
  
            System.out.println("Test Fail");   
  
        }   
  
    }   
}


 

 

TestAddAndSub.Class

import service.AddAndSub;   
import junit.framework.TestCase;   
  
/**  
 * 如果要使用JUnit,則測試類都必須繼承TestCase。  
 * 當然目前的最新版JUnit是不需要繼承它的,但並不是說TestCase類就沒有用了,  
 * 它仍然是JUnit工作的基礎。這裏先講述繼承TestCase類的方式,稍後再介紹不繼承的方式。  
 *  
 * JUnit的使用非常簡單,共有3步:  
 * 第一步、編寫測試類,使其繼承TestCase;  
 * 第二步、編寫測試方法,使用test+×××的方式來命名測試方法;  
 * 第三步、編寫斷言。如果測試方法有公用的變量等需要初始化和銷燬,則可以使用setUp,tearDown方法。  
 */  
public class TestAddAndSub extends TestCase {   
      
    private AddAndSub addAndsub;   
      
    @Override  
    public void setUp()throws Exception{   
        addAndsub = new AddAndSub();   
        super.setUp();   
    }   
      
      
    @Override  
    protected void tearDown() throws Exception {   
        addAndsub = null;   
        super.tearDown();   
    }   
  
  
    public void testadd() {   
        // 斷言計算結果與10是否相等   
        assertEquals(10, addAndsub.add(4, 6));   
    }   
  
    public void testsub() {   
        // 斷言計算結果與2是否相等   
        assertEquals(2, addAndsub.sub(6, 4));   
    }   
  
    public static void main(String args[]) {   
        junit.textui.TestRunner.run(TestAddAndSub.class);   
    }   
  
}  


 

TestAddAndSubByAnnotation.Class

import org.junit.Test;   
  
import service.AddAndSub;   
import static org.junit.Assert.*;   
import org.junit.*;   
  
/**  
 *Java 5的發佈爲JUnit帶來了新的特性。  
 *自JUnit 4.0之後,JUnit大量使用了annotations特性,使編寫單元測試變得更加簡單。  
 *(1)使用JUnit 4.0以上版本可以不用遵循以前JUnit約定的測試方法命名方法,直接使用註釋@Test  
 *(2)以前,JUnit使用SetUp和TearDown方法來進行初始化和銷燬動作,JUnit 4.0以上版本將不再強制使用SetUp和TearDown方法來進行初始化和銷燬,  
 *原來使用SetUp和TearDown方法的,現在可以使用註釋@Befor 和@After或者@BeforClass 和@AfterClass  
 *(3)新版本的JUnit將不再強制繼承TestCase,但需要import static org.junit.Assert.*;來實現斷言,示例代碼如下:  
 */  
public class TestAddAndSubByAnnotation {   
  
    private AddAndSub addAndsub;   
  
    //@Befor 和  @After 是針對每個方法都執行的創建和銷燬函數   
    //如果要針對一個類定義其創建和銷燬函數,可以使用@BeforClass 和  @AfterClass   
    @Before  
    public void init() throws Exception {   
        addAndsub = new AddAndSub();   
    }   
  
    @After  
    protected void destory() throws Exception {   
        addAndsub = null;   
    }   
  
    @Test  
    public void add() {   
        assertEquals(10, addAndsub.add(4, 6));   
    }   
      
    @Test  
    public void sub(){   
        assertEquals(2, addAndsub.sub(6, 4));   
    }   
}  


 

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