Unit testing 使用IDEA测试grails的最佳方法是什么?
我在使用Grails进行测试时真的很不愉快。我将描述我的经历,我想知道是否有更好的方法Unit testing 使用IDEA测试grails的最佳方法是什么?,unit-testing,testing,grails,intellij-idea,integration-testing,Unit Testing,Testing,Grails,Intellij Idea,Integration Testing,我在使用Grails进行测试时真的很不愉快。我将描述我的经历,我想知道是否有更好的方法 我在测试中遇到的第一个问题是,当.save()在集成测试中失败时,Grails不会立即向开发人员提供反馈。假设您有一个包含12个字段的域类,其中1个字段违反了约束,您在创建实例时不知道该约束。。。这根本救不了你。当然,之后的测试代码将失败 这是最麻烦的,因为测试中的东西可能很好。。。真正的风险和痛苦是测试本身的设置代码 所以,我试着养成使用.save(failOnError:true)来避免这个问题的习惯,但
在使用Scala 1.5个月后,被ScalaTest彻底破坏了。。。我无法返回到此状态。您可以在配置文件中设置此属性:
grails.gorm.failOnError=true
这将使其成为系统范围内保存的默认设置(如果需要,可以使用.save(failOnError:false)覆盖)
如果您只希望在测试中使用此行为,那么可以将其放在Config.groovy中特定于环境的小节中。事实上,我喜欢这个项目范围内的行为
我相信有一种方法可以在定义的范围内打开/关闭FailOneError,但我还没有研究如何做到这一点(可能是一篇很好的博客文章,如果我写了,我会更新它)
我不确定您在IDEA中有什么错误配置,但当我的测试失败时,它会显示一个红色条,我可以单击stacktrace中的行,直接找到问题。intellij的最新版本甚至可以解决大多数元类的问题,而这些元类在试图修复问题时并不有趣
如果您还没有这样做来生成项目,我会尝试删除现有的.ipr/.iml/.iws/.idea文件,并运行以下命令,让grails重新生成您的配置:
grails integrate-with --intellij
然后运行生成的.ipr文件。实际上,grails 9.0.2中有一个bug导致了这个绿色条问题。一旦我升级到9.0.3,它就成功了。数字;)+没有grails演示文稿实际显示测试。他们都在30分钟内建立下一个twitter或博客,测试总是被取消