Rya*_*nJM 5 devise omniauth ruby-on-rails-3
我正在尝试用Twitter和Facebook编写身份验证测试.我正在使用Devise和Omniauth.当我尝试它它正常工作,但我不能让测试通过它.
我正在遵循指示,但它对我来说不够深入,而且我做的事情有点不同(已经有一些代码库).我有omniauth_callbacks和注册的自定义控制器.
我的问题是,当我运行测试时,它说:
(::) failed steps (::)
No route matches "/oauth/authorize" (ActionController::RoutingError)
<internal:prelude>:10:in `synchronize'
(eval):2:in `click_link'
./features/step_definitions/web_steps.rb:57:in `/^(?:|I )follow "([^"]*)"$/'
features/link_twitter.feature:19:in `And I link twitter'
Failing Scenarios:
cucumber features/link_twitter.feature:16 # Scenario: User links twitter
Run Code Online (Sandbox Code Playgroud)
这/oauth/authorize条路线来自哪里,我该如何处理?
它看起来不像是我的OmniauthCallbacksController.它遵循链接然后死亡.我认为它与测试模式期间的Omniauth回调方法有关,但我不确定如何更改/管理它.
更新:这是我的Devise路线.
devise_for :users, :controllers => {
:omniauth_callbacks => "users/omniauth_callbacks",
:registrations => 'registrations',
:passwords => 'passwords',
:sessions => 'sessions',
:confirmations => 'confirmations'
} do
match 'confirmations/unconfirmed' => 'confirmations#unconfirmed', :as => :unconfirmed
match 'confirmations/send_advisor_confirmation/:id' => 'confirmations#unregistered_advisor_confirmation', :as => :send_advisor_confirmation
get '/users/auth/:provider' => 'users/omniauth_callbacks#passthru'
end
Run Code Online (Sandbox Code Playgroud)
Rya*_*nJM 15
我忘记了以下内容 env.rb
# features/support/env.rb
OmniAuth.config.test_mode = true
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请阅读此处的测试.
| 归档时间: |
|
| 查看次数: |
3144 次 |
| 最近记录: |