【发布时间】:2012-09-17 08:53:28
【问题描述】:
我正在关注 Grails In Action 书中的一个示例。我的集成测试失败,因为示例代码中的搜索返回空引用。我使用了对 findAll() 的调用,现在看来我的测试数据没有保存; all.size 归零。
void testBasicDynamicFinders() {
new User(userId: 'glen', password: 'secret', profile: new Profile(email: 'glen@glensmith.com')).save()
new User(userId: 'peter', password: 'sesame', profile: new Profile(homepage: 'http://www.peter.com/')).save()
def all = User.findAll()
assertEquals 2, all.size()
}
我尝试使用 save(flush: true) 无济于事。
我还在 try...catch 结构中包含了一个保存语句,但似乎没有引发异常。
Grails 真的让我大吃一惊。请帮帮我?
【问题讨论】:
-
你试过
save( failOnError:true )吗? -
啊哈!这样做表明我有验证错误。奇怪的是书中没有提到任何这些......请将您的帖子作为答案提交,以便我可以接受并给予您适当的认可。
-
完成!谢谢 :-) 是的,当事情没有保存时,验证错误通常是罪魁祸首
-
哦,在这本书的辩护中,我发现我遗漏了一行使其中一个字段可以为空的行,这就是导致验证失败的原因。所以我的错。
标签: grails integration-testing