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

Spring & JUnit 5 - How to clear database when @AfterAll must be static

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

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

JUnit 4 中的

@AfterClass 要求注释方法为 static。所以没有区别:如果你可以在 JUnit 4 中使用 @AfterClass,你仍然可以在 JUnit Jupiter 中使用 @AfterAll

然而,不同之处在于 JUnit Jupiter 允许 @AfterAll-注释方法 而不是 是静态的。请参阅 the documentation 了解如何允许这样做。