Проверка ошибок спецификации с помощью RSpec + CouchRest_Model - PullRequest
0 голосов
/ 17 февраля 2011

Я пытаюсь определить спецификации моей модели, это моя модель

 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

и в моей модели_спецификации я пытаюсь сделать это

account = Account.new
account.should have(1).error_on_presence_of(:email)

Но вместо 1 ошибки яполучаю 6Я думаю, что это может быть вызвано валидатором кресла, но не уверен.

Может кто-нибудь уточнить это для меня, пожалуйста?

PS: Если я проверяю ту же модель в консоли, я получаю 4 ошибки, соответствующие четырем пустым свойствам

1 Ответ

2 голосов
/ 18 февраля 2011

Кажется, вы ожидаете 1 ошибку, но на самом деле их 6. Чтобы выяснить, что находится в хэше ошибки, вы можете установить временное ожидание:

`account.errors.should == {}

Тогда пример не удастся иRSpec напечатает значение хеша ошибки, и вы увидите, какие ошибки на самом деле генерируются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...