has_secure_password,RSpec和用户创建

时间:2013-04-12 01:38:37

标签: ruby-on-rails rspec factory-bot

我正在尝试通过Rspec和用户登录进行最小化测试。部分原因是设置使用has_secure_password身份验证的用户。我正在尝试这个:

scenario 'test signin' do
  @attr = { :email => "jtjt@some.com",
             :password => "pass123"
  }
  User.create!(@attr)
  visit signin_path
  fill_in 'Email', with: 'jtjt@some.com'
  fill_in 'Password', with: 'pass123'
  click_button 'Log in'
end

我添加了

attr_accessible :password, :password_confirmation

但收到以下错误:

1) test login with email test signin
   Failure/Error: User.create!(@attr)
   NoMethodError:
     undefined method `password_digest=' for #<User:0x007fd89b02a028>
   # ./integration/email_login_spec.rb:15:in `block (2 levels) in <top (required)>'

我试过添加:password_confirmation但实际上得到了同样的错误(?)。我将使用像FactoryGirl这样的东西但想要得到这件作品,我觉得这很简单。对我做错了什么的想法?

THX

编辑2 我们有password_digest字段,代码已经工作了一段时间。我只是想在项目结束时添加一些集成测试。

1 个答案:

答案 0 :(得分:2)

确保您的用户模型中attr_accessor中有password_digest

相关问题