所以我有一个扩展IntegrationSpec的规范,我在setup()方法中创建并保存了一些域对象。我在这个规范中还有6个测试用例,当单独进行测试时,它们都运行良好。但是当我在我的规范中执行所有测试用例时,除了第一个之外,它们都会失败。所以我猜测试用例之间没有回滚。是否可能在每个测试用例后自动回滚,如果是,如何?或者我是否应该将每个测试用例放入具有相同设置的单独集成测试中?
提前谢谢。
答案 0 :(得分:1)
集成测试在默认情况下在测试执行后回滚的事务中运行。
在文档中说:
集成测试与单元测试的不同之处在于您可以完全访问测试中的Grails环境。 Grails使用内存中的H2数据库进行集成测试,并在测试之间清除数据库中的所有数据。
有关详细信息,请参阅Grails Docs - 14.2 Integration Testing。
如果您遇到问题,您必须在此处分享其中一些测试,以便我们查看。