Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Maven:有多个@SpringBootTests会导致在运行mvn测试时多次设置H2:memory数据库_Java_Spring_Spring Boot_Maven_Spring Boot Test - Fatal编程技术网

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
注释。这样,一旦测试完成,被操纵的数据就会恢复