Grails IntegrationSpec是否可能在每个测试用例之后回滚?

Grails IntegrationSpec是否可能在每个测试用例之后回滚?,grails,integration-testing,Grails,Integration Testing,因此,我有一个扩展IntegrationSpec的规范,我在setup()方法中创建并保存了一些域对象。在这个规范中,我还有6个测试用例,它们在单独执行时都运行良好。但是当我执行规范中的所有测试用例时,除了第一个之外,它们都失败了。所以我猜在测试用例之间没有回滚。是否有可能在每个测试用例之后自动回滚?如果有,如何回滚?或者我应该用相同的设置将每个测试用例放入单独的集成测试中吗 提前感谢。集成测试在一个事务中运行,默认情况下,该事务在测试执行后回滚 文件中说: 集成测试不同于单元测试,因为您可以完

因此,我有一个扩展IntegrationSpec的规范,我在setup()方法中创建并保存了一些域对象。在这个规范中,我还有6个测试用例,它们在单独执行时都运行良好。但是当我执行规范中的所有测试用例时,除了第一个之外,它们都失败了。所以我猜在测试用例之间没有回滚。是否有可能在每个测试用例之后自动回滚?如果有,如何回滚?或者我应该用相同的设置将每个测试用例放入单独的集成测试中吗


提前感谢。

集成测试在一个事务中运行,默认情况下,该事务在测试执行后回滚

文件中说:

集成测试不同于单元测试,因为您可以完全访问测试中的Grails环境。Grails使用内存中的H2数据库进行集成测试,并在测试之间清除数据库中的所有数据

有关更多信息,请参阅


如果您有问题,您必须在此处共享其中的一些测试,以便我们进行研究。

您是否尝试过使用扩展IntegrationSpec的集成测试?它不会回滚,因此OP的问题是:)我也看到了同样的情况,它似乎是一个影响Spock测试但不影响常规JUnit测试的bug。但这将是一个主要问题,对吗?因为grails在执行
grails创建集成测试时创建了一个扩展
IntegrationSpec
的测试类(至少在2.4.4中)。文档在“集成测试”一章中准确地讲述了回滚行为。但正如我现在看到的,在文档中,它们是从
GroovyTestCase
扩展而来的,这不是脚手架插件目前正在做的事情。我有点困惑什么是做集成测试的“正确”方法,而不是。。。