如何在rspec中测试redirect_to :back

我明白了

ActionController::RedirectBackError:

我该如何在考试中设定HTTP_REFERER分?

推荐答案

使用RSpec,可以在before个块中设置referer.当我试图在测试中直接设置referer时,无论我把它放在哪里,它似乎都不起作用,但before块起到了作用.

describe BackController < ApplicationController do
  before(:each) do
    request.env["HTTP_REFERER"] = "where_i_came_from"
  end

  describe "GET /goback" do
    it "redirects back to the referring page" do
      get 'goback'
      response.should redirect_to "where_i_came_from"
    end
  end
end

Ruby-on-rails相关问答推荐

如何修改使用Google Cloud App Engine部署rails 7应用程序的步骤

SASS,Rails 7:找不到要导入的样式表

Heroku、Selenium、Chome和Chromedriver的复杂问题(抱歉,无法简单描述,请阅读详细信息)

Ruby - 如何删除目录中早于 X 天的所有文件?

我需要在我的 Rails 7 应用程序中保留 app/assets/config/manifest.js 吗?

Rails 7,Hotwire 动态表单,更新值不起作用

为什么 Rails 执行器不能识别内核的改进?

正确更新其他列的更新列

Rails 和 jsonb 类型jsonb不存在

ActiveRecord 包括.指定包含的列

NameError:未定义的局部变量或方法记录器

我如何在不同的视图中使用助手

搭建脚手架时建立关系

URL中的Rails点而不是斜杠

使用 RSpec 2 关闭一个规范的事务性固定装置

如何在 rspec 测试中输出变量?

Test::Unit Rails - 如何断言一个数字大于另一个?

错误:无法构建 gem 原生扩展 - 安装 mysql2 时出错

在任何来源中都找不到 thread_safe-0.3.0

设置EDITOR或BUNDLER_EDITOR环境变量