Ruby on rails 在RubyonRails中测试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

我的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
 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开发人员负责