春季启动测试:在所有测试之前和之后运行任务

时间:2019-02-25 21:55:23

标签: java spring spring-boot spring-boot-test embedded-database

我想在所有的春季启动测试之前运行一个任务(例如启动数据库),并在所有测试运行之后关闭数据库。

我不想使用@Before或@BeforeClass,因为这会导致任务在每个测试或测试类之前和之后运行。

我们希望在所有测试/测试类之前和之后在所有测试/测试类中运行它们

我们在测试类上使用@SpringBootTest批注。 _

1 个答案:

答案 0 :(得分:0)

要在所有测试开始之前执行某些操作,可以通过在测试包中定义一个类并用@Configuration对其进行注释来操纵spring-boot-context的开始。在那里,您可以执行自定义逻辑操作,例如将DataSourceInitializer填充到不同的DataSource或其他内容上。

对于所有测试,您都可以实现一个ShutdownHook,它也已在测试包中实现,以便在spring-boot-context关闭时将执行您的hook。