调试Bootstrap.groovy的最佳方法是什么?

问题描述:

我将一些数据插入到数据库中,但即使我看不到任何验证错误,但仍有一些对象未插入。什么是最好的方式来与stacktrace或SQL错误,所以我可以找出什么是错的?调试Bootstrap.groovy的最佳方法是什么?

比如我做的,新的XXXXX(属性:“嗒嗒”)。保存(冲洗:真)

我没有看到启动错误(Grails的运行的应用程序),但我还没有看到我的数据。我确实看到了很多我的对象的数据,所以我确定它是关于我的对象,验证甚至是关联的东西,但是我需要一种简单的方法在日志/控制台中查看问题...

我是当然,这很容易,但tia ...

我建议让save()在引导过程中失败时抛出一个异常,因为验证错误将由您的代码而不是用户输入引起。

new Xxxxx(property: "blah").save(failOnError: true) 

的异常将包含文本的一个非常罗嗦块,但检查的第一线,这将是这样的:

grails.validation.ValidationException: 验证错误(S)期间 发生保存():

场误差在对象 'mypackage.Xxxxx' 上字段 'myProperty的':拒绝值[空]

+0

一组强大的单元测试大多会否定这种需求。 – Gregg 2011-03-20 22:27:02

首先和formost,我会写你的域的单元测试。如果这似乎工作,但你仍然在引导的问题,对每个保存,然后我检查域的错误..

def xxxxx = new XXXXX(...) 
xxxxx.save(flush:true) 
def errors = xxxxx.errors 

我然后把一个破发点在那里,所以我可以检查错误对象。否则,您可以打印错误对象,并且通常从中找出错误对象,找出发生了什么事情。

+0

应该是'def xxxxx new XXXXX(...); xxxxx.save(冲洗:真); def errors = xxxxx.errors'因为save()返回null,如果它不验证 – 2011-03-18 18:08:48

+0

是的,匆忙。固定。谢谢。 – Gregg 2011-03-18 18:33:56