我想知道如何编写黄瓜功能和规范以检查以下验证
现场电子邮件,这是模型中的验证
validates :email, :presence => true,
:length => {:minimum => 3, :maximum => 254},
:uniqueness => true,
:format => {:with => /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i}
由于
答案 0 :(得分:4)
这是我对你正在做什么,接受或离开它的看法。
1)您应该使用Test :: Unit或Rspec来测试模型行为,例如验证。像Shoulda这样的其他工具也可以提供额外的信心。
2)使用验证助手方法,例如validates_presence_of :email
(http://api.rubyonrails.org/classes/ActiveModel/Validations/HelperMethods.html)。它将使您的代码更易于阅读,更符合标准的rails惯例。
3)不要重新发明轮子。像authlogic这样的工具已经负责电子邮件验证。即使您没有验证用户注册,您仍然可以使用他们的电子邮件正则表达式:
validates_format_of :email, :with => Authlogic::Regex.email