Rails 4では、ユーザー モデルでhas_secure_passwordを使用しています。トリックによると、:password_confirmation を設定しないとトリガーされませんが、テストを実行するとエラーが発生します。パスワードの確認は、次のように空白にすることはできません。
Failures:
1) User
Failure/Error: it { should be_valid }
expected #<User id: nil, name: "joe", email: "joe@mail.com", created_at: nil,
updated_at: nil, password_digest: "$2a$04$mcRr/msgYQR3kBVc3kv/m.UotBJuJuSXZKMw
/eHTvU87..."> to be valid, but got errors: Password confirmation can't be blank
私のテストファイルは次のようになります:
require 'spec_helper'
describe User do
before { @user = User.new(name: 'joe', email: 'joe@mail.com', password: 'foo') }
subject { @user }
#....
#....
describe "when password is not present" do
before { @user.password = "" }
it { should_not be_valid }
end
end
なぜこのエラーが発生するのですか?解決策はありますか? ありがとう