Spring&JUnit 5-如何在@AfterAll必须为静态时清除数据库

Sve*_* M. 2 junit spring spring-test spring-boot junit5

@BeforeAll和@AfterAll必须是静态的。所以我不能使用JdbcTemplate。我应该如何清空数据库?

我现在使用@PostConstruct在一个方法中初始化了数据。但是我找不到工作的同行。我曾考虑过将计数器添加到@AfterEach并在最后一次执行时删除数据库。但这不是一个很好的解决方法。

JB *_*zet 5

@AfterClassJUnit 4中的注释方法必须为static。因此没有区别:如果可以@AfterClass在JUnit 4中使用,您仍然可以@AfterAll在JUnit Jupiter中使用。

但是,不同之处在于JUnit Jupiter 允许带 @AfterAll注释的方法不是静态的。有关如何允许的信息,请参阅文档