调试Bootstrap.groovy的最佳方法是什么?
我将一些数据插入到数据库中,但即使我看不到任何验证错误,但仍有一些对象未插入。什么是最好的方式来与stacktrace或SQL错误,所以我可以找出什么是错的?调试Bootstrap.groovy的最佳方法是什么?
比如我做的,新的XXXXX(属性:“嗒嗒”)。保存(冲洗:真)
我没有看到启动错误(Grails的运行的应用程序),但我还没有看到我的数据。我确实看到了很多我的对象的数据,所以我确定它是关于我的对象,验证甚至是关联的东西,但是我需要一种简单的方法在日志/控制台中查看问题...
我是当然,这很容易,但tia ...
我建议让save()在引导过程中失败时抛出一个异常,因为验证错误将由您的代码而不是用户输入引起。
new Xxxxx(property: "blah").save(failOnError: true)
的异常将包含文本的一个非常罗嗦块,但检查的第一线,这将是这样的:
grails.validation.ValidationException: 验证错误(S)期间 发生保存():
场误差在对象 'mypackage.Xxxxx' 上字段 'myProperty的':拒绝值[空]
首先和formost,我会写你的域的单元测试。如果这似乎工作,但你仍然在引导的问题,对每个保存,然后我检查域的错误..
def xxxxx = new XXXXX(...)
xxxxx.save(flush:true)
def errors = xxxxx.errors
我然后把一个破发点在那里,所以我可以检查错误对象。否则,您可以打印错误对象,并且通常从中找出错误对象,找出发生了什么事情。
应该是'def xxxxx new XXXXX(...); xxxxx.save(冲洗:真); def errors = xxxxx.errors'因为save()返回null,如果它不验证 – 2011-03-18 18:08:48
是的,匆忙。固定。谢谢。 – Gregg 2011-03-18 18:33:56
一组强大的单元测试大多会否定这种需求。 – Gregg 2011-03-20 22:27:02