【问题标题】:grails: how to test controller with multiple actions and multiple redirects?grails:如何测试具有多个操作和多个重定向的控制器?
【发布时间】:2012-01-14 13:50:14
【问题描述】:

我遇到以下问题: 我想测试我的控制器的注销操作。在此之前,我正在调用我的控制器的登录方法,它们都重定向到同一页面。现在我收到以下错误消息:

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 类。

有什么建议吗? 谢谢 多米尼克

【问题讨论】:

    标签: testing grails redirect controller action


    【解决方案1】:

    好的,我找到了答案:

    1. 我忘了从超类调用setUp:

      @Before
      void setUp() {
          super.setUp()
      
    2. 如果您想保留会话,则不能调用 reset(),因为它也会清除您的会话。改为调用:

      redirectArgs.clear()
      

    干杯, 多米尼克

    【讨论】:

    • 谢谢!顺便说一句,安装程序会做什么来允许这样做?
    猜你喜欢
    • 2011-03-26
    • 2014-05-07
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多