Java 即使设置了DirtiesContext,内存中的数据库也不会在测试之间重置自动增量列
我有一个测试用例,它自己运行得很好(mvn-Dtest=murexsresponseoktest),但是当与其他测试(mvn clean install)一起运行时,它总是会失败,并出现jpa查询错误 由于在测试之间未将自动增量列(ID列)重置为1,因此引发了错误。比如说, mvn-Dtest=MurexResponseOkTest测试将记录 保存后的消息正文:=1 保存后的消息头:1 保存后标记交易事件:1 但mvn测试将记录: 保存后的消息正文:=4 保存后的消息头:1 保存后标记交易事件:2 我已经有了每个测试后的方法集,但它似乎不起作用Java 即使设置了DirtiesContext,内存中的数据库也不会在测试之间重置自动增量列,java,spring,jpa,spring-boot,junit,Java,Spring,Jpa,Spring Boot,Junit,我有一个测试用例,它自己运行得很好(mvn-Dtest=murexsresponseoktest),但是当与其他测试(mvn clean install)一起运行时,它总是会失败,并出现jpa查询错误 由于在测试之间未将自动增量列(ID列)重置为1,因此引发了错误。比如说, mvn-Dtest=MurexResponseOkTest测试将记录 保存后的消息正文:=1 保存后的消息头:1 保存后标记交易事件:1 但mvn测试将记录: 保存后的消息正文:=4 保存后的消息头:1 保存后标记交易事件:
@RunWith(CamelSpringJUnit4ClassRunner.class)
@SpringBootTest(classes = {Application.class})
@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD)
@ActiveProfiles({"boot", "test"})
有什么建议吗?我对Derby数据库也有类似的问题。解决方案是添加@Sql注释,并提供重置自动增量列的Sql脚本。解决方案是添加@Sql注释并提供重置自动增量列的Sql脚本。