首页 > 代码库 > junit参数化测试的使用方法

junit参数化测试的使用方法

 

JUnit参数化测试的五个步骤:
(1)为准备使用参数化测试的测试类指定特殊的运行器 org.junit.runners.Parameterized。
(2)为测试类声明几个变量,分别用于存放期望值和测试所用数据。
(3)为测试类声明一个带有参数的公共构造函数,并在其中为第二个环节中声明的几个变量赋值。
(4)为测试类声明一个使用注解 org.junit.runners.Parameterized.Parameters 修饰的,返回值为 java.util.Collection 的公共静态方法,并在此方法中初始化所有需要测试的参数对。
(5)编写测试方法,使用定义的变量作为参数进行测试。

import static org.junit.Assert.assertEquals;import java.util.Arrays;import java.util.Collection;import org.junit.Before;import org.junit.Test;import org.junit.runner.RunWith;import org.junit.runners.Parameterized;import org.junit.runners.Parameterized.Parameters;//(1)步骤一:测试类指定特殊的运行器org.junit.runners.Parameterized @RunWith(Parameterized.class)public class CalculatorTest {    private Calculator cal;        // (2)步骤二:为测试类声明几个变量,分别用于存放期望值和测试所用数据。      private int expected;    private int input1;    private int input2;    @Before    public void setUp() {        cal = new Calculator();    }    // (3)步骤三:为测试类声明一个带有参数的公共构造函数,并在其中为第二个环节中声明的几个变量赋值。    public CalculatorTest(int expected, int input1, int input2)// 构造方法,为各个参数赋值。    {        this.expected = expected;        this.input1 = input1;        this.input2 = input2;    }        // (4)步骤四:为测试类声明一个使用注解 org.junit.runners.Parameterized.Parameters 修饰的,返回值为      // java.util.Collection 的公共静态方法,并在此方法中初始化所有需要测试的参数对。      @Parameters    public static Collection<Integer[]> prepareData() {        Integer[][] object = { { 3, 1, 2 }, { -4, -1, -3 }, { 5, 0, 5 } };        return Arrays.asList(object);// 数组转化成集合形式。    }    // (5)步骤五:编写测试方法,使用定义的变量作为参数进行测试。      @Test    public void testAdd() {        System.out.println(this.input1+","+this.input2);        assertEquals(this.expected, cal.add(this.input1, this.input2));// 注意是调用的成员变量。    }        }
output:1,2-1,-30,5

 

http://blog.csdn.net/seven_3306/article/details/8069948

 

junit参数化测试的使用方法