2012-03-15 28 views
3

我正在为Rails应用程序编写一些非常标准的Rspec请求规范。如何在我的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 

然而,我们刚刚增加了一个单点登录系统的中间件组件,所以响应返回作为重定向 - “请登陆”

对于这些测试的目的,我该如何让中间件脱离链条?(它在其他地方都有自己的测试。)

回答

5

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

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

我希望能为一个单一的规范做到这一点。例如,这可以在前面的块中完成单个规格吗? – shigazaru 2014-01-07 20:16:36

+0

@shigazaru据我所知不是。中间件堆栈在初始化后被冻结,因此无法修改。 – 2014-01-08 23:04:57

相关问题