通过引用其他测试套件从测试套件执行Junit4测试

时间:2016-04-15 13:48:04

标签: java junit 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 {

}

有没有办法可以在AllTestSuite中指定套件名称(而不是实际的测试类名称),它将执行子套件中指定的所有测试。我尝试在@SuiteClasses下添加套件名称,如下所示。但它不起作用:

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

public class AllTestSuite {

}

我正在使用Junit 4.12

1 个答案:

答案 0 :(得分:1)

我尝试从另一个测试套件类调用两个测试套件,它工作得很好。请查看代码here

所有测试类都放在com.test包中,并调用所有测试套件。