我有一个docker DB设置方法,当前位于@BeforeAll
中。
当前,构造如下
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
public DockerConstructorTest{
@BeforeAll
public static void setup(){
...
CreateContainer
...
}
@AfterAll
public static void done(){
...
Stop & Remove Container
...
}
}
有多个测试类,它们都扩展了此Test超级类,每个测试类将构造一个容器并在完成后将其删除。因此,maven需要花费大量时间来管理docker。 (创建和删除)
我的问题是whether there's better way to deal with it
我可能想要实现的理想情况是,此容器的创建和删除操作仅在@SpringBootTest启动之前运行一次,它将与所有测试类共享。同时,这也不会阻止其他开发人员在某些特殊情况下创建新容器。
我有一个不完整的主意:
请分享您的绝妙想法,如果能的话我将不胜感激 可以解决这个问题,或部分解决这个问题。
答案 0 :(得分:1)
如果使用JUnit 5,请参见以下答案(可能使用自定义扩展,一流的支持将在JUnit团队之后提供)