我创建了一个定制的设备注册 Controller ,我想用 rspec 测试它。
我已经用一个非常简单的测试试过了:
it "creates a new parent" do
Parent.should receive(:new)
post :create
end
但我得到这个异常(exception):
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
我已经把这一行放在我的测试中:
describe Parent::RegistrationsController do
include Devise::TestHelpers
end
我也已经把这一行:
request.env["devise_mapping"] = Devise.mappings[:parent]
有人有解决这个问题的想法吗?
最佳答案
我之前的回答有点困惑。对不起。
更新的答案:根本原因是用户在“登录”之前未被“确认”。
@user.confirm!
sign_in @user
那么一切都很好。
关于ruby-on-rails - RSpec-2 和设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3878337/