gio*_*kti 4 rspec ruby-on-rails devise rspec2 ruby-on-rails-3
我创建了一个定制的设计注册控制器,我想用rspec测试它.
我试过一个非常简单的测试:
it "creates a new parent" do
Parent.should receive(:new)
post :create
end
Run Code Online (Sandbox Code Playgroud)
但我得到这个例外:
Failures:
1) Parent::RegistrationsController POST create creates a new parent
Failure/Error: post :create, { :commit => "Daftar",
uncaught throw `warden'
# /home/starqle/.rvm/gems/ree-1.8.7-2010.02/gems/devise-1.1.3/lib/devise/hooks/timeoutable.rb:16:in `throw'
# /home/starqle/.rvm/gems/ree-1.8.7-2010.02/gems/devise-1.1.3/lib/devise/hooks/timeoutable.rb:16
Run Code Online (Sandbox Code Playgroud)
我已将此行放在我的测试中:
describe Parent::RegistrationsController do
include Devise::TestHelpers
end
Run Code Online (Sandbox Code Playgroud)
我也已经把这一行:
request.env["devise_mapping"] = Devise.mappings[:parent]
Run Code Online (Sandbox Code Playgroud)
有人有想法解决这个问题吗?
我之前的回答有点令人困惑.抱歉.
更新的答案:根本原因是用户未在"登录"之前"确认".
@user.confirm!
sign_in @user
Run Code Online (Sandbox Code Playgroud)
一切都很好.
| 归档时间: |
|
| 查看次数: |
3092 次 |
| 最近记录: |