Junit Data Driven测试仅使用选定的Datapoints

时间:2012-12-17 07:13:46

标签: java junit data-driven

我有3个数据点的字符串数组和2个数据点的整数数组。

@DataPoint public static Integer[] xxx ={100,200};
@DataPoint public static Integer[] x ={-14,15};
@DataPoint public static String[] xx = new String[]{"de" ,"Y"};
@DataPoint public static String[] cityCode = new String[]{"de" ,"abc"};
 @DataPoint public static String[] city = new String[]{"de" ,"dfg"};


@Theory public void xxx(String[] result ,Integer[] checkdt ) 

运行这个测试用例时,它需要3个数据点的字符串数组,但我想只使用2个数据点的String数组 我怎么才能使用2个数据点?

2 个答案:

答案 0 :(得分:1)

根据我的理解,specific DataPointspecicfic Theory没有选择。

每个@Theory都会针对@DataPoint的输入参数运行。

您想要过滤DataPoint数据您可以断言您想要的输入数据并运行休息。

答案 1 :(得分:1)

您可以使用Assume过滤数据点。在测试开始时,添加如下内容:

@Theory public void xxx(String[] result ,Integer[] checkdt )  {
    Assume.assumeTrue("Y".equals(result[1]);
    // rest of test
}