您的位置:软件测试 > 开源软件测试 > 开源单元测试工具 > junit
Junit中的参数化测试
作者:网络转载 发布时间:[ 2014/2/7 16:17:02 ] 推荐标签:Junit 参数化 测试

JUnit4中参数化测试要点:

1. 测试类必须由Parameterized测试运行器修饰

2. 准备数据。数据的准备需要在一个方法中进行,该方法需要满足一定的要求:

1)该方法必须由Parameters注解修饰
2)该方法必须为public static的
3)该方法必须返回Collection类型
4)该方法的名字不做要求
5)该方法没有参数

如:
测试方法:
    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; 
    /**
     * 参数化测试的类必须有Parameterized测试运行器修饰
     *
     */ 
    @RunWith(Parameterized.class) 
    public class AddTest3 { 
     
        private int input1; 
        private int input2; 
        private int expected; 
         
        /**
         * 准备数据。数据的准备需要在一个方法中进行,该方法需要满足一定的要求:
    
             1)该方法必须由Parameters注解修饰
             2)该方法必须为public static的
             3)该方法必须返回Collection类型
             4)该方法的名字不做要求
             5)该方法没有参数
         * @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); 
        } 
         
    } 

软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd