我的Rspec測試全部單獨傳遞,但作爲整個套件失敗。Rspec Suite在OmniAuth模擬身份驗證散列上失敗
我已經縮小的問題降到使用模擬omniauth哈希描述spec/support/devise.rb
:測試失敗(使用pry),如果在運行套件則返回:invalid_credentials
OmniAuth.config.test_mode = true
OmniAuth.config.mock_auth[:facebook] = {
"uid" => "1111",
"provider" => "facebook",
"credentials" => {
"token" => "token",
"secret" => "secret"
},
"extra" => {
"raw_info" => {
"name" => "Adam Waite",
"username" => "adamjwaite",
"email" => "[email protected]"
}
}
}
OmniAuth.config.add_mock(:facebook, OmniAuth.config.mock_auth[:facebook])
當我檢查OmniAuth.config.mock_auth[:facebook]
之前。如果我在單個測試文件中運行相同的測試,則會顯示它。
這裏是在註冊方法在我UsersController
失敗的測試:
describe "GET :new" do
describe "as an unauthenticated user with a facebook omniauth session" do
before do
session[:omniauth_facebook] = OmniAuth.config.mock_auth[:facebook]
get :new
end
specify { assigns[:registering_with_facebook].should == true }
specify { assigns[:registering_with_twitter].should == false }
specify { response.should be_success }
end
end
另外值得一提的是,應用功能正常了。我只希望套房通過。
任何人都會對發生了什麼事發光?
謝謝。你的寶石讓我陷入了自己的愚蠢之中,在規範失敗之前運行的規範。我已經完成了'OmniAuth.config.mock_auth [:facebook] =:invalid_credentials'來測試失敗,並忘記將其放回到其他規格中使用。咄。謝謝! –