您的位置:軟件測(cè)試 > 開源軟件測(cè)試 > 開源單元測(cè)試工具 > junit
JUnit中的測(cè)試套件和參數(shù)化測(cè)試
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2014/12/17 14:59:16 ] 推薦標(biāo)簽:junit 單元測(cè)試 軟件測(cè)試

  JUnit4.x的測(cè)試運(yùn)行
  JUnit為單元測(cè)試提供了默認(rèn)的測(cè)試運(yùn)行器,它的測(cè)試方法都是由它負(fù)責(zé)執(zhí)行的
  我們也可以定制自己的運(yùn)行器,所有的運(yùn)行器都繼承自org.junit.runner.Runner
  還可以使用org.junit.runer.RunWith注解 為每個(gè)測(cè)試類指定使用具體的運(yùn)行器
  一般情況下,默認(rèn)測(cè)試運(yùn)行器可以應(yīng)對(duì)絕大多數(shù)的單元測(cè)試要求
  當(dāng)使用JUnit提供的一些高級(jí)特性,或者針對(duì)特殊需求定制JUnit測(cè)試方式時(shí)
  顯式的聲明測(cè)試運(yùn)行必不可少了
  JUnit4.x測(cè)試套件的創(chuàng)建步驟
 、 創(chuàng)建一個(gè)空類作為測(cè)試套件的入口
 、 使用org.junit.runner.RunWith 和org.junit.runners.Suite.SuiteClasses注解 修飾該空類
  ③ 將org.junit.runners.Suite 作為參數(shù)傳入RunWith注解,即使用套件運(yùn)行器執(zhí)行此類
  ④ 將需要放入此測(cè)試套件的測(cè)試類組成數(shù)組,作為SuiteClasses注解的參數(shù)
 、 保證這個(gè)空類使用public 修飾,而且存在公開的不帶有任何參數(shù)的構(gòu)造函數(shù)
  下面是JUnit4.x中創(chuàng)建測(cè)試套件類的示例代碼
package com.jadyer.junit4;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;
/**
* JUnit4.x測(cè)試套件的舉例
* @see 下面的CalculatorTest.class和ParameterTest.class均為我們自己編寫的JUnit4單元測(cè)試類
*/
@RunWith(Suite.class)
@SuiteClasses({CalculatorTest.class, ParameterTest.class})
public class TestAll {}
  下面是JUnit3.8中創(chuàng)建測(cè)試套件類的示例代碼
package com.jadyer.junit3;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
/**
* JUnit3.8中批量運(yùn)行所有的測(cè)試類。。直接在該類上Run As JUnit Test即可
* @see 這里用到了設(shè)計(jì)模式中典型的組合模式,即將不同的東西組合起來
* @see 組合之后的東西,即可以包含本身,又可以包含組成它的某一部分
* @see TestSuite本身是由TestCase來組成的,那么TestSuite里面可以包含TestCase
* @see 同時(shí)TestSuite里面還可以繼續(xù)包含TestSuite,形成一種遞歸的關(guān)系
* @see 這里體現(xiàn)出來了,所以這是一種非常非常好的設(shè)計(jì)模式,一種好的策略
*/
public class TestAll extends TestCase {
//方法名固定的,必須為public static Test suite()
public static Test suite() {
//TestSuite類實(shí)現(xiàn)了Test接口
TestSuite suite = new TestSuite();
//這里傳遞的是測(cè)試類的Class對(duì)象。該方法還可以接收TestSuite類型對(duì)象
suite.addTestSuite(CalculatorTest.class);
suite.addTestSuite(MyStackTest.class);
return suite;
}
}

上一頁12下一頁
軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd