tôi đặt đoạn mã sau vào một thử nghiệm RSpec:Shoulda validate_format_of. not_with có vấn đề trong khuôn khổ (hoặc trong sự hiểu biết của tôi)
it { should validate_format_of(:email).not_with('[email protected]')}
và thiết lập các lớp học thực tế với:
validates :email, :presence => true, :format => /\b[A-Z0-9._%-][email protected](?:[A-Z0-9-]+\.)+[A-Z]{2,4}\b/i
Và khi tôi chạy thử nghiệm tôi nhận được:
thất bại: 1) tài Failure/Lỗi: nó {nên validate_format_of (: Địa chỉ email) .not_with ('test @ test')} Expec lỗi ted để bao gồm "không thể để trống" khi email được đặt thành "kiểm tra @ test", có lỗi: ["tên không được để trống (nil)", "email không hợp lệ (\" test @ test \ ") "] # ./spec/models/user_spec.rb:8:in 'khối (2 cấp) trong'
Khi tôi làm một bài kiểm tra đi qua như:
it { should validate_format_of(:email).with('[email protected]')}
Mọi thứ hoạt động như mong đợi . Ai đó có thể cho tôi biết nếu tôi đang làm điều gì đó sai hoặc nếu đây là một vấn đề khung. Cảm ơn bạn.
Giả sử bạn có nghĩa là 'kiểm tra @ test' cho giá trị thử nghiệm không thành công, đúng không? – zetetic