この記事はRailsチュートリアル6章の内容です。
2つの属性はhas_secure_passwordメソッドをモデルで呼び出した時に
自動的に追加される仮想的な属性です。
また、値が一致するかどうかのvalidationが追加されます。
app/models/user.rb
has_secure_password
この状態でテストを行うとredになります。
なぜなら、@userでpasswordとpassword_confirmationの値が設定されていないからです。
def setup
@user = User.new(name: "Example User", email: "user@example.com")
end
なので、以下のように書き換えます。
def setup
@user = User.new(name: "Example User", email: "user@example.com",
password: "foobar", password_confirmation: "foobar")
end
passwordとpassword_confirmationに同じ値を代入することでテスト結果がgreen
になります。
以上です。
rails チュートリアル6章