Theories提供一组待测方法的输入参数

2021-10-08 15:06:15 浏览数 (1)

Theories------提供一组参数的排列组合值作为待测方法的输入参数

同时注意到在使用Theories这个Runner的时候,我们的待测方法可以拥有输入参数,而这在其它的Runner中的测试方法是不成的。

代码语言:javascript复制
下面是一个例子:
代码语言:javascript复制
@RunWith(Theories.class)public class TheoriesTest{
    @DataPoint
    public static String nameValue1 = "Tony";
    @DataPoint
    public static String nameValue2 = "Jim";
    @DataPoint    public static int ageValue1 = 10;
    @DataPoint
    public static int ageValue2 = 20;
    @Theory
    public void testMethod(String name, int age){
        System.out.println(String.format("%s's age is %s", name, age));
    }
}

上面的代码的意思是,将”Tony”、”Jim”、10、20四个参数以类型合法的排列组合传给待没方法。因此输出的结果必然也有2x2=4种:

代码语言:javascript复制
    Tony's age is 10 

    Tony's age is 20 

    Jim's age is 10 

    Jim's age is 20 

不过,为了简单,我们除了可以使用@DataPoint注解来提供参数之外,还可以通过@DataPoints注解来提供参数,参照上述代码,只需要将@DataPoint注解标注的四个字段参数替换为如下的两个即可:

代码语言:javascript复制
@DataPoints
public static String[] names = {"Tony", "Jim"};
@DataPoints
public static int[] ageValue1 = {10, 20};

0 人点赞