我有一个继承自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
行动请求时,它不会调用 before 过滤器Admin::BaseController
。
当我定义该过滤器ApplicationController
而不是Admin::BaseController
运行测试时,它可以工作。显然这个匿名控制器继承自ApplicationController
. 我怎样才能改变这种行为?