[英]Rspec Validation testing (Mongoid )
我在使用mongoid测试rails中的验证时遇到了问题这是我的人员模型和我的Rspec测试。
class Person
include Mongoid::Document
validates :first_name , :presence => true
validates :last_name , :presence => true
end
[ :last_name, :first_name ].each do |attr|
it "must have a #{attr}" do
p = Person.new
p.send("#{attr}=","")
p.should_not be_valid
p.errors[attr].should == [ "can't be blank" ]
end
end
但是这个测试失败了,因为返回值是[“不能为空”,“不能为空”]
expected: ["can't be blank"] got: ["can't be blank", "can't be blank"]
为什么这个记录中有2个错误? 我用许多模型和其他验证规则测试这个问题。 我每次都得到相同的结果
谢谢你的帮助
埃里克
这是因为您将一个字段设置为空字符串而另一个字段保留默认值nil
。 这就是为什么每次验证都失败的原因。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.