我在控制器下面需要登录才能操作一些东西,写了个 Helper 如下:
module TestHelpers
# helper for controller
def login_admin
:available
params = { ... }
post user_session_path, params # bug
end
end
然而在 include 以后控制器测试中,却自动调用当前测试的控制器,不是使用路由中为 user_session_path
定义的控制器,登录失败:
RSpec.describe Admin::SomethingController, :type => :controller do
it 'should login as admin' do
login_admin # fail
expect(current_user).to_not eq(nil)
end
end
错误如下:
ActionController::RoutingError:
No route matches {..., :controller=>"admin/something", :action=>"/users/sign_in"}
怎么向特定控制器发送请求呢?谷歌的结果是不能这么干?