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 了解如何允许这样做。
@BeforeAll 和@AfterAll 必须是静态的。所以我不能使用 JdbcTemplate。我应该如何清空数据库?
我现在已经用@PostConstruct 方法初始化了数据。但我找不到工作的对手。我曾想过在@AfterEach 中添加一个计数器并在最后一次执行时删除数据库。但这不是一个很好的解决方法。
@AfterClass
要求注释方法为 static
。所以没有区别:如果你可以在 JUnit 4 中使用 @AfterClass
,你仍然可以在 JUnit Jupiter 中使用 @AfterAll
。
然而,不同之处在于 JUnit Jupiter 允许 @AfterAll
-注释方法 而不是 是静态的。请参阅 the documentation 了解如何允许这样做。