3

CucumberでFacebookのログインボタンをテストしようとしています。Omniauthを使用しています。

これが私が持っているものです/features/support/env.rb

Before do
  OmniAuth.config.test_mode = true
  OmniAuth.config.add_mock(:facebook, {
    provider: 'facebook',
    uid: '1259910065',
    info: {
      name: 'Test Name',
      email: 'test@example.com'
    }
  })
end

After do
  OmniAuth.config.test_mode = false
end

ただし、/auth/facebookテストでアクセスしようとすると、次のようになります。

No route matches [GET] "/auth/facebook" (ActionController::RoutingError)

アップデート:

require 'omniauth'env.rbファイルでも試してみましたが、それが必要かどうかはわかりません。

4

1 に答える 1

0

私はこの問題に直面していましたが、routes.rb の一部の行を変更して解決しました。

match 'auth/:provider/callback', to: 'sessions#create', via: [:get, :post]

ここで読んだomniauth がこの行get '/auth/:provider/callback', to: 'sessions#create'を routes.rb に追加するように指示しているのに、コールバックがリクエスト メソッドを _method という変数でポストするように設定している場合。

この助けを願っています

于 2013-12-26T17:51:38.350 に答える