メソッドが定義されていないというエラーが表示されます。エラーは、「spec_helper に mock_auth_hash を定義したモジュールが含まれているにもかかわらず、未定義のローカル変数またはメソッド 'mock_auth_hash'」です。
私は omniauth でいくつかの rspec 統合テストを行おうとしています。このリンクをたどっています https://gist.github.com/kinopyo/1338738
私はこれを理解するのにあまりにも多くの時間を費やしたので、何が問題なのかを理解するのを手伝ってください...多分私はそれに新鮮な目が必要です...
ここに私のファイルがあります
仕様 - >サポート - > omniauth_macros.rb
module OmniauthMacros
def mock_auth_hash
OmniAuth.config.mock_auth[:facebook] = {'provider' =>"facebook",
'uid' =>"12345",
'info'=>{'name'=>"John Doe"},
'credentials'=>{'token'=>"AAABBBCCC"}}
end
end
spec->spec_helper.rb
RSpec.configure do |config|
.
.
.
config.include OmniauthMacros #I've also tried putting config.include(OmniauthMacros)
.
.
end
OmniAuth.config.test_mode = true
spec->requests->game_pages_spec.rb
describe "signing in" do
before {visit root_url}
mock_auth_hash
before {click_button "Login with Facebook"}
it {should have_selector('h1',text: 'Welcome')}
end