2012-03-15 50 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

相關問題