在内存数据库中,即使设置了DirtiesContext,也不会在测试之间重置自动增量列

时间:2017-08-28 09:27:59

标签: java spring jpa spring-boot junit

我有一个完全独立运行的测试用例(mvn -Dtest = MurexResponseOkTest测试)但是当与其他测试(mvn clean install)一起运行时,它总是因jpa查询错误而失败。

引发错误是因为测试之间自动增量列(ID列)未重置为1。例如,

mvn -Dtest = MurexResponseOkTest测试将记录

保存后的

邮件正文:= 1

保存后的

邮件标题:1

保存后的

markit交易事件:1

但是mvn测试会记录:

保存后的

邮件正文:= 4

保存后的

邮件标题:1

保存后的

标记交易事件:2

我已经设置了AFTER_EACH_TEST_METHOD,但似乎无效。

@RunWith(CamelSpringJUnit4ClassRunner.class)
@SpringBootTest(classes = {Application.class})
@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD)
@ActiveProfiles({"boot", "test"})

有什么建议吗?

0 个答案:

没有答案