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
注解标注的四个字段参数替换为如下的两个即可:
@DataPoints
public static String[] names = {"Tony", "Jim"};
@DataPoints
public static int[] ageValue1 = {10, 20};