我想測試用戶註冊時應該存在的密碼。 在我的測試:Ruby on Rails測試密碼存在失敗
def setup
@user = User.new(name: "foobar", email: "[email protected]",
password: 'password',
password_confirmation: 'password')
end
test "password can't be blank" do
@user.password = nil
assert_not @user.valid?
end
用戶模式:
validates :name, presence: true, length: { maximum: 20 }
VALID_EMAIL_REGEX = /\A[\w+\-.][email protected][a-z\d\-]+(\.[a-z\d\-]+)*\.[a-z]+\z/i
validates :email, presence: true, length: { maximum: 255 },
format: { with: VALID_EMAIL_REGEX },
uniqueness: { case_sensitive: false}
has_secure_password
validates :password, presence: true, length: { minimum: 8}
這個測試通過罰款,但如果我把它改爲@ user.password的= 「」,測試失敗。任何人都可以幫我理解爲什麼?這裏的密碼有什麼不同?對於電子郵件,我用「」,它工作正常。
謝謝!
你可以把你的'用戶'模型,所以我們可以看到你的驗證? – tegon
對不起,我現在已經添加了用戶模型 – Rosalie