我的控制器有这样的功能:
def go() {
...
redirect(action: 'someOtherAction')
}
在我的集成测试中,我怎么断言控制器做了我认为它应该做的事情?
assertEquals 'someOtherAction', controller.????
这两个都给出空值:
controller.response.redirectedUrl
controller.modelAndView.viewName
编辑:
捕获响应实例:
答案 0 :(得分:3)
如果您的测试使用的是grails 2.0样式@TestFor
注释,那么您应该可以这样做:
controller.go()
assert response.redirectedUrl == '/someUrl/someOtherAction'
响应不是控制器的属性;测试注释将其添加到测试类本身。