2013-04-12 78 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名稱下。這些較小的測試總是不同的,因此它不可能事先設置方法的數量。 –