【測(cè)試學(xué)習(xí)筆記】Junit——java單元測(cè)試

知識(shí)點(diǎn)

  • @test修飾用于測(cè)試
  • @test的兩個(gè)參數(shù):timeout=毫秒、expect=xxx.class(用于預(yù)期異常)
  • @RunWith測(cè)試運(yùn)行器:參數(shù)設(shè)置、套件測(cè)試

源代碼

public class MyDemo {

    public int add(int a,int b){
        return a+b;
    }
    
    public int minus(int a,int b){
        return a-b;
    }
    
    public int divide(int a,int b){
        return a/b;
    }
}

1、建立測(cè)試單元

public class MyDemoTest {
     //對(duì)add函數(shù)正常測(cè)試   
    @Test
    public void addTest() {
        assertEquals(5, new MyDemo().add(2, 3));
    }
     //@Ignore修飾后,對(duì)minus函數(shù)忽略測(cè)試  
    @Ignore
    @Test
    public void minusTest() {
        assertEquals(-1, new MyDemo().minus(2, 3));
    }
    //@test中,參數(shù)設(shè)置預(yù)估異常,如果異常出現(xiàn),則測(cè)試通過(guò)
    @Test(expected = ArithmeticException.class)
    public void divideExceptionTest() {
        assertEquals(1, new MyDemo().divide(3, 0));
    }

}

2、套件測(cè)試(同時(shí)測(cè)試多個(gè)測(cè)試單元)

@RunWith(Suite.class)
@Suite.SuiteClasses({MyDemoTest1.class,MyDemoTest2.class})
public class SuitTest {
    /***
#這里不需添加其他函數(shù)
#測(cè)試類(lèi)前用RunWith(Suite.class)修飾
#需要同時(shí)測(cè)試的測(cè)試類(lèi)放到@Suite.SuiteClasses中

  ***/
}

3、RunWith參數(shù)設(shè)置(相當(dāng)于提前預(yù)設(shè)很多測(cè)試參數(shù))

//類(lèi)前用@RunWith(Parameterized.class)修飾
//建立集合方法,預(yù)設(shè)參數(shù)
@RunWith(Parameterized.class)
public class ParameterTest {

    int expected = 0;
    int input1 = 0;
    int input2 = 0;
        
    
    @Parameters
    public static Collection<Object[]> t(){
        return Arrays.asList(new Object[][]{
                {3,1,2},
                {4,2,2}
                
        });
    }
    
    public ParameterTest(int expected,int input1,int input2){
        this.expected = expected;
        this.input1 = input1;
        this.input2 = input2;
        
    }
    
    @Test
    public void add() {
        assertEquals(expected, new MyDemo().add(input1, input2));
    }

}

參考

http://www.imooc.com/learn/356

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,923評(píng)論 18 139
  • 注意事項(xiàng): 測(cè)試方法上必須使用@Test修飾 測(cè)試方法必須使用public void進(jìn)行修飾,不能帶任何參數(shù) 新建...
    魯克巴克詩(shī)閱讀 1,787評(píng)論 0 3
  • 簡(jiǎn)介 測(cè)試 在軟件開(kāi)發(fā)中是一個(gè)很重要的方面,良好的測(cè)試可以在很大程度決定一個(gè)應(yīng)用的命運(yùn)。軟件測(cè)試中,主要有3大種類(lèi)...
    Whyn閱讀 5,843評(píng)論 0 2
  • 原文鏈接:http://www.ruanyifeng.com/blog/2015/12/a-mocha-tutor...
    butterflyq閱讀 2,015評(píng)論 1 3
  • 一開(kāi)始聽(tīng)到永澄老師的“甜面包熱湯”模式,不明覺(jué)厲,感覺(jué)高大上。近來(lái),在微信推送中寫(xiě)到了這個(gè)模式,那就應(yīng)該好好地學(xué)習(xí)...
    山丘三閱讀 451評(píng)論 0 1