2013-08-22 76 views
0

我想在運行時將測試文件添加到測試套件,並且我的測試文件沒有擴展到測試用例,因爲我使用的是junit 4.11。當測試文件沒有擴展到TestCase時,如何在JUnit 4中動態創建測試套件?

下面是代碼:

@RunWith(org.junit.runners.AllTests.class) 

class MasterTester extends TestCase{ 

public static TestSuite suite1() { 

TestSuite suite = new TestSuite(); 

     for(Class<? extends TestCase> klass : gatherTestClasses()) { 
      suite.addTestSuite(klass); 
     } 

     return suite; 
     } 

private static Class<?> gatherTestClasses() 
{ 


    return AbcIT.class;//getting a compile time error 
    } 

} 

我得到一個編譯時錯誤說類類型的不能被添加到

類請建議?

+0

爲什麼你傳遞'類<實例?將TestCase>'擴展爲'suite.addTestSuite()'?它不採用這種類型的輸入。它只是簡單的'類'。 – Santosh

+0

它doesnot。它需要Class <?的實例擴展Testcase>只有 – user2478636

+0

哎呀!我指的是舊版本。 – Santosh

回答

1

也許有超過here看看@Andrejs答案,因爲他提到了動態添加的JUnit 4個測試用例來測試套件:

@RunWith(AllTests.class) 
public class SomeTests 
{ 
    public static TestSuite suite() 
    { 
     TestSuite suite = new TestSuite(); 

     suite.addTest(new JUnit4TestAdapter(Test1.class)); 
     suite.addTest(new JUnit4TestAdapter(Test2.class)); 

     return suite; 
    } 
} 
相關問題