繼邁克爾·哈特爾的導軌導的最新版本由於密碼測試導致rails驗證郵件驗證錯誤?
我已經在我的測試/模型/ user_test.rb
require 'test_helper'
class UserTest < ActiveSupport::TestCase
def setup
# prevously.
#@user = User.new(name: "Example Name", email: "[email protected]")
# password and password_conformation is added after has_secure_password is implemented in User.rb
@user = User.new(name: "Example Name", email: "[email protected]", password: "foobar", password_confirmation: "foobar")
end
.... # other tests
# should be a valid user
test "should be valid" do
assert @user.valid?
end
# test for valid email addresses
test "email validation should accept valid addresses" do
valid_addresses = %w[[email protected] [email protected] [email protected]
[email protected] [email protected]]
valid_addresses.each do |valid_address|
@user.email = valid_address
assert @user.valid?, "#{valid_address.inspect} should be valid"
end
end
#test for invalid email addresses
test "email validation should reject invalid addresses" do
invalid_addresses = %w[[email protected],com user_at_foo.org [email protected]
[email protected]_baz.com [email protected]+baz.com]
invalid_addresses.each do |invalid_address|
@user.email = invalid_address
assert_not @user.valid?, "#{invalid_address.inspect} should be invalid"
end
end
# PROBLEM STARTS HERE !!!!
# test password minimum length as 8
test "password should have a minimum length" do
@user.password = @user.password_confirmation = "a" * 7
assert_not @user.valid?
end
..... # more other tests
end
出於某種原因,下面的測試文件,它返回下面當我運行包的exec耙測試
1) Failure:
UserTest#test_email_validation_should_accept_valid_addresses [/Users/jackCHH/Desktop/Websites/cloudSolar/test/models/user_test.rb:49]:
"[email protected]" should be valid
2) Failure:
UserTest#test_should_be_valid [/Users/jackCHH/Desktop/Websites/cloudSolar/test/models/user_test.rb:14]:
Failed assertion, no message given.
在我添加測試腳本來測試密碼的長度後,問題就開始了。我還添加了驗證:密碼,長度:{最小:8}到我的模型User.rb.如果我刪除模型中的驗證線和password_length測試腳本,測試再次通過。
爲@user我的電子郵件聲明似乎是正確的([email protected]),所以我不知道爲什麼它是一個無效的電子郵件現在
我在做什麼錯?