java Grails:集成测试Ajax请求xhr
如何在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()
在我的“登陆页面”行动中
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呢
# 1 楼答案
你试过了吗http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/mock/web/MockHttpServletRequest.html#addParameter%28java.lang.String,%20java.lang.String%29