2010-09-07 147 views
1

我不知道怎么写了黄瓜的功能和规格检查以下验证如何测试与黄瓜

现场电子邮件电子邮件验证,这里是在模型验证

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

感谢

回答

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 
+1

另一个是http://github.com/alexdunae/validates_email_format_of – 2010-09-12 01:25:20