我正在尝试通过 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 之类的东西,但我想得到这件作品,我认为这很简单。知道我做错了什么吗?
谢谢
编辑 2 我们确实有 password_digest 字段,并且代码已经工作了一段时间。只是想在我接手项目时添加一些集成测试。