在Rails中测试Omniauth

Ase*_*hwi 4 tdd ruby-on-rails rspec2 omniauth ruby-on-rails-3

我们开始使用Rails 3,RSpec 2和OmniAuth 2开发一个新网站.我们希望使用RSpec跟踪TDD来编写身份验证,但我们实际上不知道从哪里开始.我们不想测试gem,因为它已经过测试,但我们想测试应用程序的流程,并且它已根据回调的结果正确路由.

到目前为止最好的是我们将问题分为两个阶段:1-回调前:伪造facebook和twitter等服务以返回呼叫2-回调后:获取结果并创建用户和相关服务

请指导我们,让我们有所帮助:)

mon*_*cle 10

你查看了Wiki吗?

**编辑**

也许像(未经测试):

before do
  OmniAuth.config.mock_auth[:twitter] = {
    'uid' => '123545'
  }
end

it "sets a session variable to the OmniAuth auth hash" do
  controller.session[:auth_hash]['uid'].should == '123545'
end
Run Code Online (Sandbox Code Playgroud)

  • 我这样做了,但没有让我深入了解如何以stub.env ['omniauth.auth']为例 (5认同)