亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > junit
JUnit介紹及其快速使用
作者:網(wǎng)絡轉載 發(fā)布時間:[ 2013/3/19 15:03:46 ] 推薦標簽:

  JUnit 是 Java 社區(qū)中知名度高的單元測試工具。它誕生于 1997 年,由 Erich Gamma 和 Kent Beck 共同開發(fā)完成。其中 Erich Gamma 是經(jīng)典著作《設計模式:可復用面向對象軟件的基礎》一書的作者之一,并在 Eclipse 中有很大的貢獻;Kent Beck 則是一位極限編程(XP)方面的專家和先驅。

  麻雀雖小,五臟俱全。JUnit 設計的非常小巧,但是功能卻非常強大。Martin Fowler 如此評價 JUnit:在軟件開發(fā)領域,從來沒有如此少的代碼起到了如此重要的作用。它大大簡化了開發(fā)人員執(zhí)行單元測試的難度,特別是 JUnit 4 使用 Java 5 中的注解(annotation)使測試變得更加簡單。

  從推出到現(xiàn)在,JUnit3.8.1和JUnit4的工作原理和使用區(qū)別還是比較大的,下面首先用一段代碼來演示JUnit3.8.1的快速使用,以便熟悉JUnit的原理
1.首先,我們在Eclipse的項目中創(chuàng)建一個待測試的類Hello.java,代碼如下:
public class Hello {

    public int abs(int num)
    {
        return num>0?num:-num;
    }
    public double division(int a,int b)
    {
        return a/b;
    }
}

  2.右擊該類,選擇 新建->JUnit測試用例,選擇JUnit3.8.1,setUp和tearDown方法,點擊下一步,選擇需要測試的方法,JUnit會自動生成測試的代碼框架,手動添加自己的測試代碼后如下:

 
import junit.framework.TestCase;

public class HelloTest extends TestCase {

    private Hello hello;
    public HelloTest()
    {
        super();
        System.out.println("a new test instance...");
    }
    //測試前JUnit會調用setUp()建立和初始化測試環(huán)境
    protected void setUp() throws Exception {
        super.setUp();                                    //注意:在Junit3.8.1中這里要調用父類的setUp()
        hello=new Hello();
        System.out.println("call before test...");
    }
    //測試完成后JUnit會調用tearDown()清理資源,如釋放打開的文件,關閉數(shù)據(jù)庫連接等等
    protected void tearDown() throws Exception {
        super.tearDown();                                //注意:在Junit3.8.1中這里要調用父類的tearDown()
        System.out.println("call after test...");
    }

    //測試Hello類中的abs函數(shù)
    public void testAbs() {
        System.out.println("test the method abs()");
        assertEquals(16, hello.abs(16));
        assertEquals(11, hello.abs(-10));//在這里,會出現(xiàn)故障,應該把左邊的參數(shù)改為10
        assertEquals(0, hello.abs(0));
       
    }

    //測試Hello類中的division函數(shù)
    public void testDivision() {
        System.out.println("test the method division()");
        assertEquals(3D, hello.division(6, 2));
        assertEquals(6D, hello.division(6, 1));
        assertEquals(0D, hello.division(6, 0));//在這里,會出現(xiàn)錯誤,java.lang.ArithmeticException: /by zero
       
    }

}

  3.運行該測試類,輸出如下:

a new test instance...
a new test instance...
call before test...
test the method abs()
call after test...

call before test...
test the method division()
call after test...
  從上面的輸出結果中,可以看出JUnit大概會生成如下的測試代碼:
try {
    HelloTest test = new HelloTest();     // 建立測試類實例
    test.setUp();             // 初始化測試環(huán)境
    test.testAbs();             // 測試abs方法
    test.tearDown();             // 清理資源
}
catch(Exception e){}

try {
    HelloTest test = new HelloTest();     // 建立測試類實例
    test.setUp();             // 初始化測試環(huán)境
    test.testDivision();         // 測試division方法
    test.tearDown();             // 清理資源
}
catch(Exception e){}

  所以,每測試一個方法,JUnit會創(chuàng)建一個xxxTest實例,如上面分別生成了兩個HelloTest實例來分別測試abs和division方法。

上一頁12下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 波多野结衣免费视频观看 | jizz日 | 性色视频在线观看 | 成人爱视频 | 日本一区二区免费在线 | 欧美激情一区二区三区视频 | 国产一在线观看 | 国产欧美日韩精品一区二 | 欧美视频免费一区二区三区 | 三级黄色毛片 | 欧美日本在线视频 | 久久久青草青青亚洲国产免观 | 日韩大片高清播放器好 | 亚洲人成在线免费观看 | 污网站在线观看免费 | 男女日皮免费视频 | 欧美成人se01短视频在线看 | 国产午夜精品不卡观看 | 性欧美videos另类视频 | 国产香港日本三级在线观看 | 91精品国产综合成人 | 日本国产在线视频 | 2017天天爽夜夜爽精品视频 | 国产精品果贷一区二区借贷宝 | 美国fx性欧美xxxx | 天天弄天天干 | 狠狠色噜狠狠狠狠色综合久 | 香港成人网 | 亚洲人成在线中文字幕 | 亚洲欧美在线视频 | 色偷偷久久 | 欧美激情午夜 | 麻豆按摩| 国产成人一区二区 | 黄视频日本 | 色噜噜久久 | 日本成人性视频 | 亚洲欧洲高清 | 精品在线播放 | 日韩精品福利在线 | 日本在线看小视频网址 |