2013-04-13 93 views
0

我有一個從ApplicationController繼承的基本管理控制器。爲了測試Admin::BaseController之前的過濾器,我在這個規範中創建了一個匿名控制器。測試子應用程序控制器

require 'spec_helper' 

describe Admin::BaseController do 

    it { should be_a(ApplicationController) } 

    controller do 
    def index 
     render :text => '' 
    end 
    end 

    context 'when current user is not an admin' do 
    it 'redirects to root path' do 
     get :index 
     response.should redirect_to(root_path) 
    end 
    end 
end 

但是,當我提出一個請求index行動,它並不過濾器之前Admin::BaseController調用。

當我在ApplicationController而不是Admin::BaseController中定義該篩選器並運行測試時,它可以工作。顯然這個匿名控制器繼承自ApplicationController。我怎樣才能改變這種行爲?

回答

相關問題