3
mongoidを使ってレールで検証を行ったときに問題が発生しました これは、たとえばPerson Modelと私のRspecテストです。Rspec検証テスト(Mongoid)
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
のデフォルト値を保持しているためにです毎回助け
エリック
しかし、私はこの問題をレールコンソールのマニュアル()でテストすると1つのエラーしか出ません.p = Person.new p.valid? p.error [:first_name] got => ["空白にできません"] – bulleric
興味深いです。 :-) –
うん、それは紛らわしい...私のコンソールで私は1つのエラー(各姓と姓)を持っているええ、私のテスト環境でエラーまたはfailconfigurationがあることができます... - – bulleric