我正在尝试使用 H2 进行集成测试。我希望 H2 数据库在每次测试之间重置为我的数据.sql。但是在建议的解决方案中,我发现没有奏效; @Transactional
和@DirtiesContext
似乎不起作用。
在@beforeAll
中,我正在设置一个模拟队列(使用 ElasticMQ
库并想知道这是否也会导致问题?
当我自己运行它们时,测试工作正常。
任何想法将不胜感激!
出于某种原因,@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD)
解决了我的问题!我之前没有尝试过这个,因为@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD)
对我不起作用。