JUnit 运行参数化测试简单入门

来源:互联网 发布:1元域名注册 编辑:程序博客网 时间:2024/05/29 19:56

一、用于测试的Calculator类

public class Calculator {    public double add(double number1,double number2){        return number1 + number2 ;    }}

二、运行参数化测试 Parameterized(参数化)测试Calculator类

@RunWith(value=Parameterized.class)  //要求 1public class ParameterizedTest {    //要求 2    private double expected ;      private double valueOne ;    private double valueTwo ;    @Parameters //要求 3  public static Collection<Integer[]> getTestParameters() {     return Arrays.asList(new Integer[][]{       {2,1,1} ,//expected,valueOne, valueTwo ;       {3,2,1} ,       {4,3,1} ,   }) ;}//要求 4public ParameterizedTest(double expected, double valueOne, double valueTwo){     this.expected = expected ;     this.valueOne = valueOne ;     this.valueTwo = valueTwo ;    }@Test //要求 5public void sum(){    Calculator calc = new Calculator() ;    assertEquals(expected,calc.add(valueOne, valueTwo),0) ;    }}
  Parameterized参数化的测试运行器允许使用不同的参数多次运行同一个测试。要使用Parameterized 的测试运行器来运行一个测试类,那就必须要满足一下5点要求。  1、测试类必须使用@RunWith注释,并且要将Parameterized类作为它的参数 ;  2、必须声明测试中所用的实例变量 ;  3、为测试类声明一个使用注解org.junit.runners.Parameterized.Parameters 修饰的,返回值为 java.util.Collection 的公共静态方法,并在此方法中初始化所有需要测试的参数对;  4、声明一个带有参数的公共构造函数,并在其中为要求2中声明的几个变量赋值 ;  5、编写测试方法,使用定义的变量作为参数进行测试 ;
0 0