ruby - 应该 validate_format_of 。 not_with 在框架中有问题(或者在我的理解中)

标签 ruby ruby-on-rails-3 rspec shoulda

我将以下代码放入 RSpec 测试中:

it { should validate_format_of(:email).not_with('test@test')}

并设置实际的类:

validates :email, :presence => true, :format => /\b[A-Z0-9._%-]+@(?:[A-Z0-9-]+\.)+[A-Z]{2,4}\b/i

当我运行测试时,我得到:

失败: 1)用户 失败/错误:它{应该 validate_format_of(:email).not_with('test@test')} 当电子邮件设置为“test@test”时,预期错误包括“can't be blank”,得到错误:[“name can't be blank (nil)”, “email is invalid (\"test@test\")"] # ./spec/models/user_spec.rb:8:in `block (2 levels) in '

当我通过以下测试时:

it { should validate_format_of(:email).with('adam@trimediatlantic.com')}

一切都按预期进行。有人可以告诉我我做错了什么还是框架问题。谢谢。

最佳答案

试试这个:

it { should_not allow_value("test@test").for(:email) }

关于ruby - 应该 validate_format_of 。 not_with 在框架中有问题(或者在我的理解中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4134432/

相关文章:

ruby-on-rails - 工厂女孩 : How do define a factory without passing parameters

ruby-on-rails - 如何在时间对象中转换这种日期格式? "20111210000000 +0100"-> 2011-12-12 00 :00

ruby-on-rails - RSpec 'Expect' 语法和惯用属性规范

ruby-on-rails - RSpec 讨厌名为 :public when stubbing object 的 Rails 作用域

ruby-on-rails - capybara 找不到元标签

ruby - gitlab-shell ssl 证书问题

ruby-on-rails-3 - 更新 Mongoid 中的哈希类型属性

ruby-on-rails - 是否可以在 Rails 中获取原始参数字符串?

javascript - react JS : no answer from Sinatra server with fetch call

ruby - 从文本中提取(并修改)以特定字符串开头的所有单词?