【发布时间】:2012-01-24 18:05:29
【问题描述】:
如何在 Grails 中为控制器设置 ajax 请求测试?
我试过了
def homeController = new HomeController()
homeController.request.contentType = "text/json"
homeController.request.content = '{"event_id":2}'.getBytes()
homeController.request.xhr = true //error: can't be set
homeController.landingPage()
在我的“landingPage”操作中
Controller
...
...
if(params.event_id){
//set values of the "event" object
}
if (request.xhr) {
def result = [eventTile: event.getAt(0).title, eventId: event.getAt(0).id]
render result as JSON
return
}
...
...
如果不正常指定它,我找不到到达 params 字段的方法。
homeController.params.event_id = 2
那么如何设置 Grails 集成测试以将 xhr 设置为 true,这将从我的控制器返回 JSON?
【问题讨论】:
-
你试过吗?
homeController.metaClass.getRequest = { [xhr:true] }
标签: java ajax grails groovy integration-testing