2013-04-12 40 views
-1

我有一些TestSuite测试用例。现在每个测试用例都包含可变数量的较小测试。尽管这些较小的测试数量有所不同。我需要JUnit GUI来呈现每个较小的测试是否在Testcase下工作。这可能吗?使用不同的@Test方法为我提供了我想要的结构,但是我无法动态地改变Testcases所需的这些@Test方法的数量。有任何想法吗?是否可以更改JUNIT中测试方法的数量?

回答

0

你看看JUnit参数化测试吗?

现在使用@参数注解,你可以遍历您的数据和改变这样的每个测试的名称:

@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} - 第二个参数值

+0

当然,我做了我使用的运行所有我Testclasses一个参数测试。问题:每个Testclass包含一些小测试。我希望这些测试显示在JUNIT GUI下的Testclass名称下。这些较小的测试总是不同的,因此它不可能事先设置方法的数量。 –