grails如何断言重定向动作

时间:2013-11-01 19:53:37

标签: grails testing

我的控制器有这样的功能:

def go() {
...
redirect(action: 'someOtherAction')
}

在我的集成测试中,我怎么断言控制器做了我认为它应该做的事情?

assertEquals 'someOtherAction', controller.????

这两个都给出空值:

controller.response.redirectedUrl
controller.modelAndView.viewName

编辑:

捕获响应实例:

enter image description here

1 个答案:

答案 0 :(得分:3)

如果您的测试使用的是grails 2.0样式@TestFor注释,那么您应该可以这样做:

controller.go()
assert response.redirectedUrl == '/someUrl/someOtherAction'

响应不是控制器的属性;测试注释将其添加到测试类本身。