Maven:当 运行 mvn test 时,有多个 @SpringBootTests 导致 H2:memory 数据库被设置多次
Maven: Having multiple @SpringBootTests causes H2:memory database to be set up multiple times when running mvn test
我有几个 @SpringBootTest
注释测试。我的应用程序使用每次应用程序 运行s.
时都会设置的 H2 内存数据库
当我 运行 通过我的 IDE 单独测试每个用例时,所有用例都有效。然而,当我 运行 mvn test
时,我得到 SQL 违反约束的错误,因为显然我的应用程序正在尝试再次设置我的数据库(并且数据已经存在,导致错误)。
删除所有 @SpringBootTest
个案例,只有一个案例允许我 运行 mvn test
成功。
我的问题是,我如何才能做到 运行 使用 mvn test
进行所有测试,而无需再次尝试设置我的数据库?我可以为此添加一些注释吗?
或者有没有办法让测试等待数据被删除后再重新设置?
谢谢
使用 @DirtiesContext
注释测试 class(es) and/or 方法。有了这个,一旦测试完成,被操纵的数据就会恢复。
我有几个 @SpringBootTest
注释测试。我的应用程序使用每次应用程序 运行s.
当我 运行 通过我的 IDE 单独测试每个用例时,所有用例都有效。然而,当我 运行 mvn test
时,我得到 SQL 违反约束的错误,因为显然我的应用程序正在尝试再次设置我的数据库(并且数据已经存在,导致错误)。
删除所有 @SpringBootTest
个案例,只有一个案例允许我 运行 mvn test
成功。
我的问题是,我如何才能做到 运行 使用 mvn test
进行所有测试,而无需再次尝试设置我的数据库?我可以为此添加一些注释吗?
或者有没有办法让测试等待数据被删除后再重新设置?
谢谢
使用 @DirtiesContext
注释测试 class(es) and/or 方法。有了这个,一旦测试完成,被操纵的数据就会恢复。