如何使用黄瓜测试电子邮件验证

时间:2010-09-07 10:47:42

标签: ruby-on-rails cucumber

我想知道如何编写黄瓜功能和规范以检查以下验证

现场电子邮件,这是模型中的验证

validates :email, :presence => true, 
                  :length => {:minimum => 3, :maximum => 254},
                  :uniqueness => true,
                  :format => {:with => /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i}

由于

1 个答案:

答案 0 :(得分:4)

这是我对你正在做什么,接受或离开它的看法。

1)您应该使用Test :: Unit或Rspec来测试模型行为,例如验证。像Shoulda这样的其他工具也可以提供额外的信心。

2)使用验证助手方法,例如validates_presence_of :emailhttp://api.rubyonrails.org/classes/ActiveModel/Validations/HelperMethods.html)。它将使您的代码更易于阅读,更符合标准的rails惯例。

3)不要重新发明轮子。像authlogic这样的工具已经负责电子邮件验证。即使您没有验证用户注册,您仍然可以使用他们的电子邮件正则表达式:

validates_format_of :email, :with => Authlogic::Regex.email