gpt4 book ai didi

java - Grails:集成测试 Ajax 请求 - xhr

转载 作者:行者123 更新时间:2023-11-30 09:41:28 25 4
gpt4 key购买 nike

如何在 Grails 中设置对 Controller 的 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
}
...
...

如果不正常指定,我找不到到达参数字段的方法。

 homeController.params.event_id = 2

那么我如何设置 Grails 集成测试以将 xhr 设置为 true,这将从我的 Controller 返回 JSON?

最佳答案

也许我没答对问题。但是发现你可以使用这种方式来强制你的请求被认为是 xhr 请求。

def homeController = new HomeController()

homeController.request.content = '{"event_id":2}'.getBytes()
homeController.request.makeAjaxRequest()
homeController.landingPage()

返回值将是 GrailsMockHttpServletResponse

homeController.response.json == "" //Make your tets here

关于java - Grails:集成测试 Ajax 请求 - xhr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8991777/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com