2016-04-15 76 views
1

我有兩個測試包文件執行從測試套件Junit4測試: -參照其他測試套件

@RunWith(Suite.class) 
@SuiteClasses({ GetOrdersTest.class }) 

public class OrderTestSuite { 

} 


@RunWith(Suite.class) 
@SuiteClasses({ CreateSellerTest.class, GetSellerTest.class, UpdateSellerTest.class, ValidateSellerTest.class }) 

public class SellerTestSuite { 

} 

我的目的是有一個AllTestSuite將執行所有其他子測試套件中定義的所有測試: -

眼下在AllTestSuite再次做到這一點我不得不重複測試類的名字象下面這樣: -

@RunWith(Suite.class) 
@SuiteClasses({ GetOrdersTest.class, CreateSellerTest.class, GetSellerTest.class, UpdateSellerTest.class, 
    ValidateSellerTest.class }) 

public class AllTestSuite { 

} 

有沒有一種方法,我可以強制t指定AllTestSuite中的套件名稱(而不是實際測試類名稱),它將執行子套件中指定的所有測試。我嘗試在@SuiteClasses下添加套件名稱,如下所示。但它不工作:

@RunWith(Suite.class) 
@SuiteClasses({ SellerTestSuite.class, OrderTestSuite.class }) 

public class AllTestSuite { 

} 

我使用Junit 4.12

回答

1

我打過電話從另一個測試套件類中的兩個測試套件和它完美的罰款。請看代碼here

所有的測試類都放在com.test包中,所有的測試套件都被調用。