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

JUnit4中參數(shù)化測試要點:

1. 測試類必須由Parameterized測試運行器修飾

2. 準備數(shù)據(jù)。數(shù)據(jù)的準備需要在一個方法中進行,該方法需要滿足一定的要求:

1)該方法必須由Parameters注解修飾
2)該方法必須為public static的
3)該方法必須返回Collection類型
4)該方法的名字不做要求
5)該方法沒有參數(shù)

如:
測試方法:
    public int add(int a,int b){ 
            return a+b; 
        } 

測試代碼:
    package org.test; 
     
    import java.util.Arrays; 
    import java.util.Collection; 
     
    import org.junit.Assert; 
    import org.junit.Test; 
    import org.junit.runner.RunWith; 
    import org.junit.runners.Parameterized; 
    import org.junit.runners.Parameterized.Parameters; 
    /**
     * 參數(shù)化測試的類必須有Parameterized測試運行器修飾
     *
     */ 
    @RunWith(Parameterized.class) 
    public class AddTest3 { 
     
        private int input1; 
        private int input2; 
        private int expected; 
         
        /**
         * 準備數(shù)據(jù)。數(shù)據(jù)的準備需要在一個方法中進行,該方法需要滿足一定的要求:
    
             1)該方法必須由Parameters注解修飾
             2)該方法必須為public static的
             3)該方法必須返回Collection類型
             4)該方法的名字不做要求
             5)該方法沒有參數(shù)
         * @return
         */ 
        @Parameters 
        @SuppressWarnings("unchecked") 
        public static Collection prepareData(){ 
            Object [][] object = {{-1,-2,-3},{0,2,2},{-1,1,0},{1,2,3}}; 
            return Arrays.asList(object); 
        } 
         
        public AddTest3(int input1,int input2,int expected){ 
            this.input1 = input1; 
            this.input2 = input2; 
            this.expected = expected; 
        } 
        @Test 
        public void testAdd(){ 
            Add add = new Add(); 
            int result = add.add(input1, input2); 
            Assert.assertEquals(expected,result); 
        } 
         
    } 

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