我可以通过不同的参数将JUnit测试用例作为“多个测试”运行吗?

时间:2018-01-18 22:50:07

标签: java junit

@RunWith(Theories.class)
public class ExampleTest {

   @Theory
   @Test
   public void isEven(int value)
   {
       assertEquals(value%2,0);
   }
public static @DataPoints int[] values =  valueBuilder();

private static int[] valueBuilder(){
    int[] returnValue= {1,2,3,4,5,6,7,8,9,10};
    return returnValue;
}
}

我能够对上面的不同数据集进行测试。

当前方法:

  1. 作为所有10项数据的单个测试用例运行。 (更像是for循环)。

  2. 一次失败导致测试停止。

  3. 需要:

    - >一些方法以10个独立测试的方式运行此测试。将失败的案例显示为失败并继续运行其他数据项。

    提前致谢。

1 个答案:

答案 0 :(得分:0)

使用Parameterized Runner Test

@RunWith(Parameterized.class)
public class ExampleTest {

    @Theory
    @Test
    public void isEven(int value)
    {
       assertEquals(value%2,0);
    }
    public static @DataPoints int[] values =  valueBuilder();

    // Provide data
    @Parameters
    private static int[] valueBuilder(){
        int[] returnValue= {1,2,3,4,5,6,7,8,9,10};
        return returnValue;
    }
}