junit3和junit4的一個入門例子程序


Junit是我們進行單元測試必備的一個工具,用於檢測我們的方法是否可以輸出我們預期的值。
junit3和junit4的使用區別如下
1.JUnit3中需要繼承TestCase類,但在JUnit4中已經不需要繼承TestCase
2.JUnit3中需要覆蓋TestCase中的setUptearDown方法,其中setUp方法會在測試執行前被調用以完成初始化工作,而tearDown方法則在結束測試結果時被調用,用於釋放測試使用中的資源,而在JUnit4中,只需要在方法前加上@Before
@After 
3.JUnit3中對某個方法進行測試時,測試方法的命令是固定的,例如對add這個方法進行測試,需要編寫名字爲tetAdd的測試方法,而在JUnit4中沒有方法命令的約束,在方法的前面加上@Test,這就代表這個方法是測試用例中的測試方法

4.新的斷言assertThat 
5. @BeforeClass  @AfterClass 。在JUnit3,如果所有的test case僅調用一次setUp()tearDown()需要使用TestSetup
6.測試異常處理@Test(expected = DataFormatException.class)
7.設置超時
@Test(timeout = 1000)
8.忽略測試
@Ignore

junit3一個最簡單的例子
1:目標類:這裏最簡單的一個方法,如果是複雜的方法,無非也是處理流程複雜了,最終也是返回結果
package com.common;
public class Junit3 {
    public int addab(int a,int b){
        return a + b;
    }
}

2:測試類:必須繼承TestCase
package com.commmon;
import com.common.Junit3;
import junit.framework.TestCase;

public class Junit3Test extends TestCase{
    Junit3 junit3 = null;

    //執行測試方法前調用的方法,這個名字必須是setUp
    public void setUp(){
        junit3 = new Junit3();
    }

    //方法名字必須加test,不能帶參數
    public void testAddab(){
        int result = junit3.addab(4, 5);
        assertEquals(9,result);
    }
}

junit4一個最簡單的例子,和junit3的一樣。具體看寫法上的區別
1:目標類:這裏方法和上面一樣,方便對比
package com.common;
public class Junit4 {
    public int addab(int a,int b){
        return a + b;
    }
}

2:測試類,不需要繼承TestCase
package com.common;
import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Test;

public class Junit4Test {
    Junit4 junit4 = null;
    
     //執行測試方法前調用的方法,這個名字可以隨便寫
    @Before
    public void setUp(){
        junit4 = new Junit4();
    }

     //方法名字可以隨便寫
    @Test
    public void testAddab(){
        int result = junit4.addab(4, 5);
        assertEquals(9,result);
    }
}
更多高級功能有興趣的話,可以深入研究,這只是一個最簡單的例子程序,任何複雜的功能都是從入門開始

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章