Ruby on rails 在RubyonRails中测试facebook身份验证会话控制器
我的ruby on rails应用程序中有基本的facebook身份验证。我遵循了教程 我正在尝试为session_控制器编写单元规格,该控制器处理与Facebook服务器的通信。 以下是我的控制器的外观:Ruby on rails 在RubyonRails中测试facebook身份验证会话控制器,ruby-on-rails,facebook-graph-api-v2.0,omniauth-facebook,Ruby On Rails,Facebook Graph Api V2.0,Omniauth Facebook,我的ruby on rails应用程序中有基本的facebook身份验证。我遵循了教程 我正在尝试为session_控制器编写单元规格,该控制器处理与Facebook服务器的通信。 以下是我的控制器的外观: def create user = User.from_omniauth(env["omniauth.auth"]) session[:user_id] = user.id redirect_to root_url end def destroy sign_out redirec
def create
user = User.from_omniauth(env["omniauth.auth"])
session[:user_id] = user.id
redirect_to root_url
end
def destroy
sign_out
redirect_to root_url
end
private
def sign_in(user)
session[:user_id] = user.id
end
def sign_out
session[:user_id] = nil
@current_user = nil
end
我的规格如下:
it 'should set session variable and redirect to root path' do
get :create
expect(session[:user_id].present?).to eq true
expect(response).to be_success
expect(response).to redirect_to(root_path)
end
结束
但是通过这种设置,我得到了以下错误失败/错误:获取:创建
ActionController::UrlGenerationError:
没有路由匹配{:action=>“create”,:controller=>“sessions”
我在routes.rb文件中添加了以下内容
match'/auth/:provider/callback',to:'sessions#create',via:[:get]
任何解决方案的人?顺便说一句,只是扩展到这一点,它真的有必要测试这部分代码吗?因为这必须由第三方gem开发人员负责