问题: 我从Grails 1.3.7升级到Grails 2.0。 然后我必须重构我的控制器测试以使用注释:@TestFor(控制器)和模拟(域)来处理很多问题。 但是,在1.3.7中,controller.renderArgs和controller.redirectArgs可用。这似乎不再是2.0中的情况,我很难弄清楚如何获得这些非常方便的变量数据。
似乎不会根据this Grails Jira posting提供此数据。詹姆斯·朗的这篇文章的最后评论没有回应,这是我的确切问题:
在Grails 2.0控制器单元测试中,如何进入renderArgs,如action,id,params等?
Jira评论仅提供输入到response.redirectUrl
的输入有什么想法吗?
答案 0 :(得分:2)
感谢Graeme的更新和帖子的链接。
我们解决这个问题的方法是让控制器元类化以获取这些变量。 我创建了相应的成员变量,然后将以下代码添加到单元测试的设置中:
controller.metaClass.redirect = { Map map ->
redirectAction = map.action
redirectID = map.id
redirectUrl = map.url
}
controller.metaClass.render = {Map map ->
renderView = map.view
renderModel = map.model
}
答案 1 :(得分:0)
目前看来你不能。我看到了格雷姆回复的this forum post,并提到它需要一个功能请求。