软件测试从业者,立志做出一番事业,2015加油~!

Junit4 参数化 【转】

上一篇 / 下一篇  2012-04-12 14:52:45 / 个人分类:单元测试

转自:http://ttitfly.javaeye.com/blog/178496
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 [][] bject = {{-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);  
    }  
      
}

TAG:

My testing blog 引用 删除 MichaelChou111   /   2012-04-12 15:10:02
也可参见 junit4详解:http://leowzy.iteye.com/blog/793077
 

评分:0

我来说两句

Open Toolbar