ruby - 如何在我的 Rspec 请求规范中跳过中间件?

标签 ruby ruby-on-rails-3 rspec middleware

我正在为 Rails 应用编写一些非常标准的 Rspec 请求规范。

describe "show" do
  it "should respond successfully when given an id that exists" do
    @badger = FactoryGirl.create(:badger)
    get "/badgers/#{@badger.id}"
    response.should be_ok
  end
end

但是,我们刚刚为单点登录系统添加了一个中间件组件,因此响应作为重定向返回 - “请登录”。

出于这些测试的目的,我怎样才能将中间件排除在链外?(它在其他地方有自己的测试。)

最佳答案

在你的 config/environments/test.rb 中你可以删除这个中间件:

config.middleware.delete YourMiddleware::Goes::Here

关于ruby - 如何在我的 Rspec 请求规范中跳过中间件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9723202/

相关文章:

ruby - EventMachine 和 em-websocket - 从队列中读取并推送到 channel

javascript - Ruby on Rails 实现 Ajax 帖子和评论

ruby-on-rails - Rails 3.2 重定向/images/* 到/assets/*

ruby-on-rails - WebMock.disable_net_connect!不使用 rspec(没有 VCR)

java - 如何使用 jruby 对 java 应用程序使用 rspec?

ruby-on-rails - Ruby on Rails 教程第 5 章 Failure/Error it {should have_selector

ruby - 如何在 Ruby 中模仿 execl()

Sqlite 到 Postgres (Heroku) 日期/时间

ruby-on-rails - 将初始 PostgreSQL 数据库从开发转移到 Heroku 生产

ruby - 如何使用 Ruby 中的一个命令检查目录/文件/符号链接(symbolic link)是否存在