您的位置:軟件測(cè)試 > 開源軟件測(cè)試 > 開源單元測(cè)試工具 > junit
Junit4測(cè)試
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/3/21 15:22:14 ] 推薦標(biāo)簽:

3) 運(yùn)行測(cè)試
  系統(tǒng)會(huì)打開JUnit透視圖,如果測(cè)試全部通過(guò),則顯示顏色條為綠色;我們將assertEquals(3,Math.divide(9,3));改成assertEquals(2,Math.divide(9,3));則顯示顏色條為紅色,我們可以對(duì)錯(cuò)誤或者故障的地方進(jìn)行追蹤。

4) 創(chuàng)建測(cè)試套件
  測(cè)試套件可以將多個(gè)測(cè)試用例合在一起測(cè)試,將相關(guān)的測(cè)試用例合成一個(gè)測(cè)試套件,在做一個(gè)修改后,只需要運(yùn)行測(cè)試套件可以,不需要運(yùn)行每一個(gè)測(cè)試用例。
  Junit4沒(méi)有采用以前的套件測(cè)試方法,同樣使用annotation的方式來(lái)進(jìn)行。簡(jiǎn)單在你所要構(gòu)建測(cè)試套件的包里創(chuàng)建一個(gè)文件,一般以包名+4Suite
  下面我在上面的測(cè)試包中復(fù)制一下之前的測(cè)試類并且一個(gè)改名字叫做MathTestAnother,新建一個(gè)class類叫做Uitl4Suite,代碼如下:
Java代碼
import org.junit.runner.RunWith; 
import org.junit.runners.Suite; 
import org.junit.runners.Suite.SuiteClasses; 
/**
 * @author bulargy.j.bai
 * @創(chuàng)建時(shí)間:Mar 11, 2008
 * @描述:util包的測(cè)試套件
 */
@RunWith(Suite.class) 
@SuiteClasses({MathTest.class, 
           MathTestAnother.class}) 
public class Util4Suite { 
}

import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;
/**
 * @author bulargy.j.bai
 * @創(chuàng)建時(shí)間:Mar 11, 2008
 * @描述:util包的測(cè)試套件
 */
@RunWith(Suite.class)
@SuiteClasses({MathTest.class,
           MathTestAnother.class})
public class Util4Suite {
}

說(shuō)明:
  通過(guò)@RunWith和@SuiteClasses標(biāo)簽來(lái)注釋一個(gè)空的包含無(wú)參數(shù)構(gòu)造函數(shù)的類來(lái)作為套件類,將需要組成套件運(yùn)行的類加到@SuiteClasses的屬性中即可。

  可以看到運(yùn)行套件類的結(jié)果是2個(gè)測(cè)試類都進(jìn)行了測(cè)試。

5) 參數(shù)測(cè)試
修改 testMultiple
Java代碼
//@Ignore("忽略乘法測(cè)試") 
@Test
public void testMultiple() { 
    assertEquals(result,Math.multiple(faciend,multiplicator)); 
}

    //@Ignore("忽略乘法測(cè)試")
    @Test
    public void testMultiple() {
        assertEquals(result,Math.multiple(faciend,multiplicator));
    }

編寫參數(shù)方法:
Java代碼
@Parameters
    public static Collection multipleValues() { 
        return Arrays.asList(new Object[][] { 
        {3, 2, 6 }, 
        {4, 3, 12 }, 
        {21, 5, 105 }, 
        {11, 22, 242 }, 
        {8, 9, 72 }}); 
    }

@Parameters
    public static Collection multipleValues() {
        return Arrays.asList(new Object[][] {
        {3, 2, 6 },
        {4, 3, 12 },
        {21, 5, 105 },
        {11, 22, 242 },
        {8, 9, 72 }});
    }

說(shuō)明:
  需要使用@Parameters標(biāo)簽注解一個(gè)靜態(tài)的返回集合對(duì)象的方法

  增加成員變量和構(gòu)造函數(shù):
Java代碼
int faciend; 
int multiplicator; 
int result; 
 
public MathTest(int faciend, int multiplicator, int result) { 
    this.faciend = faciend; 
    this.multiplicator = multiplicator; 
    this.result = result; 
}

    int faciend;
    int multiplicator;
    int result;

    public MathTest(int faciend, int multiplicator, int result) {
        this.faciend = faciend;
        this.multiplicator = multiplicator;
        this.result = result;
    }

  后在給測(cè)試類增加如下注釋:
Java代碼
@RunWith(Parameterized.class) 

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