2016-04-15 38 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包中,所有的测试套件都被调用。