gpt4 book ai didi

grails - Spock Grails 2.0 Forward不返回模型数据

转载 作者:行者123 更新时间:2023-12-02 14:45:41 24 4
gpt4 key购买 nike

我正在尝试使用Spock插件测试Grails 2.0.4 Controller

-------------------- Controller ------------------

def addComment= {

def pageCounter=0

def result=reviewService.addComment(params.copyId,params.comment)

forward(action: "showPage", model: [copyId: result.copy.id,pageCounter:pageCounter])

}

================= Controller 测试=============================
@TestFor(ReviewController)
class ReviewControllerSpec extends ControllerSpec
{

def "test"() {


setup:
-------------

when:
-------------
def returnMap=controller.addComment()

then:
mockResponse.forwardedUrl=='/grails/review/showPage.dispatch'


}

测试通过,但我无法向前获取 Controller 中定义的返回参数
forward(action: "showPage", model: [copyId: result.copy.id,pageCounter:pageCounter])

您能帮我吗,让我知道如何在我的Spock单元测试中获取返回参数 copyIdpageCounter
我已经在Controller代码中打印了值(以上两个变量),并且它们中都有数据。我研究了 forwardArgsmockResponse等。
请帮忙

最佳答案

forward方法实际上并不接受model参数。参见the docs for forward

您可以使用params,在这种情况下,值将附加到您正在测试的forwardedUrl的查询字符串中。

如果要在操作之间传递更复杂的数据,则可能需要查看 chain 方法,该方法会将模型置于重定向之前的Flash作用域中。

关于grails - Spock Grails 2.0 Forward不返回模型数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11545863/

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