Psy*_*nch 2 testing grails json
我有以下控制器代码:
@Transactional
def save(MyModel model) {
model.save()
}
Run Code Online (Sandbox Code Playgroud)
我正在测试它使用:
request.json = new MyModel(property1: 1, property2: 2)
controller.save()
Run Code Online (Sandbox Code Playgroud)
但是,每次运行测试时,我都会得到NullPointerException,因为它model是null.我是否需要放置任何其他代码才能使绑定正常工作?
request.json如果在控制器单元规范/测试中适当地模拟域对象,则将域对象设置为应该有效.
相反,您也可以request.json在测试中设置一个JSON字符串,然后MyModel在调用控制器操作时绑定该字符串.所以你的测试应该是这样的:
request.json = '{"property1": 1, "property2": 2}'
Run Code Online (Sandbox Code Playgroud)
另请注意,因为您id在请求有效负载中没有,这表示您正在尝试POST新记录.在这种情况下,只有POST在请求中明确设置了http方法时,与域对象的数据绑定才有效.
request.method = 'POST'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2215 次 |
| 最近记录: |