是否可以在JUNIT中更改测试方法的数量?

时间:2013-04-12 10:34:21

标签: java html junit

我有一个带有许多测试用例的Testsuite。现在每个测试用例包含可变数量的较小测试。这些较小的测试数量有所不同。我需要JUnit GUI来呈现每个较小的测试是否在Testcase下运行。这可能吗?使用不同的@Test方法为我提供了我想要的结构,但我不能动态地改变测试用例所需的这些@Test方法的数量。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您是否看过JUnit参数化测试?

现在使用@Parameters注释,您可以迭代数据并更改每个测试的名称,如下所示:

@RunWith(value = Parameterized.class)
public class JunitTest {

     private int number;

     public JunitTest(int number) {
        this.number = number;
     }

     @Parameters(name = "namestring")
     public static Collection<Object[]> data() {
       Object[][] data = new Object[][] { { 1 }, { 2 }, { 3 }, { 4 } };
       return Arrays.asList(data);
     }

     @Test
     public void simpleTest() {
       System.out.println("Parameterized Number is : " + number);
     }
}

namestring 是一个字符串,可以包含以下特殊占位符:

  • {index} - 这组参数的索引。默认的namestring是{index}。
  • {0} - 此调用的第一个参数值 测试。
  • {1} - 第二个参数值

等等