【发布时间】:2013-04-04 23:17:34
【问题描述】:
文档说我们可以通过模拟参数来测试带有命令对象的控制器 http://grails.org/doc/latest/guide/testing.html#unitTestingControllers
我想知道这是否适用于嵌套命令对象?有人让这个工作吗?
例子:
控制器
def create(FormCommand form){
form.validate()
...
}
命令
class FormCommand {
InnerCommand cmd
}
class InnerCommand{
String x
static constraints ={
x(nullable: false)
}
}
测试
void testCreate(){
params["inner.x"]="any"
controller.create()
...
}
我的期望是命令对象被创建并且数据绑定工作,我也期望内部命令被验证。我是不是期望太高了?
【问题讨论】:
-
您能否提供一个示例来说明您要验证的内容?
-
我在这里使用 Grails 2.2.1 进行了测试。即使在 run-app 中,内部命令也保持为空,但如果你有一个域类而不是命令,那么它会被数据绑定填充。我用这种行为向用户邮件列表发送了一个问题,一旦我得到答案,我会在这里更新。
-
感谢 Sergio,感谢您的努力
标签: unit-testing grails tdd