ruby-on-rails - RSpec-2 和设计

标签 ruby-on-rails ruby-on-rails-3 rspec devise rspec2

我创建了一个定制的设备注册 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/

相关文章:

ruby-on-rails-3 - Ruby on Rails - Carmen gem:#<ActionView::Helpers::FormBuilder:0x5a53598> 的未定义方法 `country_select'

ruby-on-rails - Prawn 轨 : How to make a bounding_box rounded?

ruby-on-rails - rails 中的密码格式

ruby-on-rails - 从另一台计算机访问 Rails 开发服务器

ruby-on-rails-3 - 如何设置 RSpec 时区?

ruby-on-rails - 整个 Rails 应用程序可能会出现 'copy and paste' 吗?

ruby-on-rails - #<RSpec 的未定义方法 `get'

ruby - rspec模拟与其他模拟框架的优缺点是什么?

ruby-on-rails - 如何禁用 HTTP 严格传输安全?

ruby-on-rails - 如何在 Rails 5 中创建 ActiveRecord 无表模型?