java - 在测试之间重新设置 H2 数据库(即将 DB 重置为我的 SQL 文件)
问题描述
我正在尝试使用 H2 进行集成测试。我希望 H2 数据库在每次测试之间重置为我的data.sql 。但是在建议的解决方案中,我没有找到工作;@Transactional
并且@DirtiesContext
似乎没有工作。
在 a@beforeAll
中,我正在设置一个模拟队列(使用ElasticMQ
库并想知道这是否也可能导致问题?)。
当我自己运行测试时,测试工作正常。
任何想法将不胜感激!
解决方案
由于某种原因@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD)
解决了我的问题!我之前没有尝试过,因为@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD)
它对我不起作用。
推荐阅读
- java - 如何在将对象添加到 HashSet 之前检查对象是否属于某个类?
- c# - 非对称加密和产品密钥
- r - 如何在不删除格式的情况下将格式化的“.sas7bdat”文件导入“R”?
- postman - How to create signup test that works every time without changing user signup data?
- c - I have to read a file and use Linked Lists to store the data in C
- mongodb - $lookup to an array in MongoDB
- c# - 使用对象和方法将文本存储到由分隔符分隔的列表中
- haskell - Haskell 中的可变参数函数类型类
- docker - 将容器安装到我的部署中时,如何避免“权限被拒绝”错误?
- javascript - 将输入隐藏值复制到使用 JS 隐藏的其他输入