Тестирование Rspec (Mongoid) - PullRequest
       7

Тестирование Rspec (Mongoid)

3 голосов
/ 05 января 2012

У меня возникла проблема при тестировании проверок в рельсах с mongoid. Это, например, моя модель Person и мой тест 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 ошибки ??я проверяю эту проблему со многими моделями и другими правилами проверки.Я получаю каждый раз один и тот же результат

Спасибо за помощь

Эрик

1 Ответ

0 голосов
/ 05 января 2012

Это потому, что вы устанавливаете одно из своих полей в пустую строку, а другое сохраняет значение по умолчанию nil.Вот почему обе ваши проверки проваливаются каждый раз.

...