Java Maven:有多个@SpringBootTests会导致在运行mvn测试时多次设置H2:memory数据库
我有几个Java Maven:有多个@SpringBootTests会导致在运行mvn测试时多次设置H2:memory数据库,java,spring,spring-boot,maven,spring-boot-test,Java,Spring,Spring Boot,Maven,Spring Boot Test,我有几个@SpringBootTest带注释的测试。我的应用程序使用H2内存中数据库,该数据库在每次应用程序运行时都会进行设置 当我通过IDE单独运行每个测试用例时,所有用例都可以工作。然而,当我运行mvn测试时,我会收到SQL约束冲突错误,因为我的应用程序显然正在尝试再次设置我的数据库(并且数据已经存在,导致了错误) 删除除一个之外的所有@SpringBootTest案例可以让我成功运行mvn测试 我的问题是,我该如何做才能使我能够使用mvn test运行所有测试,而不必再次尝试设置我的数据库
@SpringBootTest
带注释的测试。我的应用程序使用H2内存中数据库,该数据库在每次应用程序运行时都会进行设置
当我通过IDE单独运行每个测试用例时,所有用例都可以工作。然而,当我运行mvn测试时,我会收到SQL约束冲突错误,因为我的应用程序显然正在尝试再次设置我的数据库(并且数据已经存在,导致了错误)
删除除一个之外的所有@SpringBootTest
案例可以让我成功运行mvn测试
我的问题是,我该如何做才能使我能够使用mvn test
运行所有测试,而不必再次尝试设置我的数据库?我可以为此添加一些注释吗
或者有没有一种方法可以让测试在再次设置数据之前等待数据被删除
谢谢在测试类和/或方法上使用@DirtiesContext
注释。这样,一旦测试完成,被操纵的数据就会恢复