我试图对我的模型进行验证,这是我的模型
class Account < CouchRest::Model::Base
property :user, String
property :password, String
property :name, String
property :email, String
property :activate, TrueClass, :default => true
validates_presence_of :user, :password, :name, :email
validates_length_of :password, :in => 6..15, :if => lambda{|account| !account.password.blank? }
validates_uniqueness_of :user, :if => (lambda{|account| !account.user.blank?})
end
进入我的model_spec我试图这样做
account = Account.new
account.should have(1).error_on_presence_of(:email)
但是1错误,我得到了6 我认为这可能是由于沙发床的验证造成的,但不确定。
有人可以为我澄清一下吗?
P.S。:如果我在控制台中验证相同的模型,我得到4个错误,对应于四个空属性
答案 0 :(得分:2)
似乎你期待1个错误,但实际上有6个。要弄清楚错误哈希中的内容,你可以设置一个临时期望:
`account.errors.should == {}
然后示例将失败,RSpec将打印错误哈希的值,您可以看到实际生成了哪些错误。