运行环境:eclipse,JUnit4.10.0.jar
JUnit4中参数化测试要点:
1. 测试类必须由Parameterized测试运行器修饰2. 准备数据。数据的准备需要在一个方法中进行,该方法需要满足一定的要求:
1)该方法必须由Parameters注解修饰
2)该方法必须为public static的
3)该方法必须返回Collection类型
4)该方法的名字不做要求
5)该方法没有参数
如:
测试方法:
package com.icss.question1000;
public class My01 {
public static void main(String[] args) {
int a=3,b=4;
System.out.println(add(a,b));
}
public static int add(int a,int b)
{
return a + b;
}
}
测试代码:
package com.icss.question1000;
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;
//声明所使用的运行器,如果未声明,则使用默认运行器。
@RunWith(Parameterized.class)
public class My01Test {
private int result;
private int a;
private int b;
//参数化必须的构造方法,其中参数的顺序对应参数集中参数 的顺序
public My01Test(int result, int a, int b) {
super();
this.result = result;
this.a = a;
this.b = b;
}
@Test
public void add(){
My01 q = new My01();
Assert.assertEquals(result, q.add(a, b));
}
@SuppressWarnings("unchecked")
@Parameters
public static Collection getParameters(){
Object[][] object = {
{3,1,2},
{9,4,5},
{15,6,9}
};
return Arrays.asList(object);
}
}
运行结果: