我有一些自己的组件,我在Java应用程序之前启动它。启动它大约需要30秒。在我的集成测试中,我在类之前启动我的组件并运行所有测试用例。我的问题是,是否可以在测试类之前运行我的组件,而不是在整个测试之前运行?
亲切的问候, 比拉尔答案 0 :(得分:2)
如果您使用JUnit套件,则可以在整个套件运行之前使用@BeforeClass
执行方法,在整个套件运行后使用@AfterClass
:
@RunWith(Suite.class)
@SuiteClasses(
{
//list your test classes here
}
)
public class IntegrationSuite{
@BeforeClass
public static void setupSuite(){
//do your initialization here
}
@AfterClass
public static void tearDownSuite(){
//...if needed
}
}
答案 1 :(得分:1)
使用@BeforeClass注释。
请注意,带注释的方法必须是静态的。
@BeforeClass
public static void oneTimeInit() {
System.out.println("It runs only once for all tests in this class.");
}
答案 2 :(得分:0)
如果你使用的是maven,你可以使用maven-failsafe-plugin。它具有用于测试设置的预集成测试目标。有关示例,请查看Maven Failsafe Plugin: how to use the pre- and post-integration-test phases