我遇到了以下问题: 我想测试我的 Controller 的注销操作。在此之前,我正在调用我的 Controller 的登录方法,它们都重定向到同一页面。现在我收到以下错误消息:
groovy.grails.web.servlet.mvc.exceptions.CannotRedirectException: Cannot issue a redirect(..) here. A previous call to redirect(..) has already redirected the response.
我确实理解这个问题,但是所有建议的解决方案(调用 reset() 方法;调用 GrailsWebUtil.bindMockWebRequest())都不起作用。
我正在进行集成测试并使用类 ControllerUnitTestCase。
有什么建议吗? 谢谢 多米尼克
最佳答案
好的,我找到了答案:
我忘了从父类(super class)调用 setUp:
@Before void setUp() { super.setUp()
如果您想保留 session ,则不能调用 reset(),因为它也会清除您的 session 。改为调用:
redirectArgs.clear()
干杯, 多米尼克
关于testing - grails:如何使用多个操作和多个重定向来测试 Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8862622/