gpt4 book ai didi

grails - Grails获取 Controller View

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

我正在尝试为 Controller 创建一个集成测试用例,我需要获取被测试的 Controller 的 View 名称。

我正在尝试这样做:

controller?.modelAndView?.getViewName()

但是modelAndView对象为null。 Controller 对象不为null,并通过其他测试。

我为什么要获得modelAndView null的任何想法吗?从我搜索的内容中,这就是获取 Controller View 名称的方法。

谢谢你的帮助。

最佳答案

在执行 Controller Action 方法后需要在集成测试中获取模型之前,我遇到了类似的问题,所以我所做的是我将 Controller 的render方法更改为能够获取传递到的映射。为了能够得到模型。所以我在测试方法中有一个名为renderMap的变量,然后在

Map renderMap

registerMetaClass(MyController.class)
MyController.metaClass.render = {Map m ->
renderMap = m
}
...
// Instantiate controller
// Call controller action

然后,我可以像这样访问在模型中设置的一些对象:
def someObject = renderMap.model.someObject

因此,您应该能够执行以下操作:
String view = renderMap.view

在某些时候,您可能想要还原 Controller 的metaClass。

关于grails - Grails获取 Controller View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5395552/

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