我们习惯在内存HSQLDB数据库中运行grails集成测试,但是在失败点,由于数据丢失,很难调查。我们迁移到针对物理数据库(postgres)运行测试,并且在测试通过时一切都很顺利。如果测试失败,我们希望在数据库中提交数据以进行事后分析,以确定测试失败的原因。
总而言之,只要测试通过,我们希望测试以回滚模式运行,以便一个测试不会影响另一个测试,并且在测试的第一次失败时,在该点提交数据并停止。
我们花了大量时间调查集成测试失败,并想知道我们是否有任何grails选项可以在第一次集成测试失败时停止,数据保存在数据库中以供调查。我搜索得很少,没有找到任何合适的指针。如果您按照任何其他做法对集成测试进行故障排除,如果值得分享,请告诉我们。
答案 0 :(得分:0)
简单的黑客你可以尝试:
在失败时设置全局标志,测试每个测试中的标志。 if flag设置退出测试
答案 1 :(得分:0)
最近我遇到了Grails Guard插件,我认为它在这种情况下很有用,因为除了更快地运行集成测试之外,还会保留测试运行后保存的数据。