Обновление до RSpec 2: ошибки заменены на have (n) .errors_on?Нужен обходной путь - PullRequest
3 голосов
/ 18 июля 2011

Вот несколько примеров тестов из моего кода rspec 1.x:

[:email, :contact_type_id].each do |attr|
  it "requires #{attr}" do
    e = EmailAddress.new
    e.should_not be_valid
    # i don't care how many errors there are,
    # just that there were errors for this attr.
    e.errors(attr).should_not be_nil
  end
end

RSpec 2.6.x заставляет меня сделать это:

[:email, :contact_type_id].each do |attr|
  it "requires #{attr}" do
    e = EmailAddress.new
    e.should_not be_valid
    # have expects that I pass a number here :(
    e.should have(n).error_on(attr)
  end
end

Мне все равноСколько существует ошибок, только эти ошибки обнаружились при попытке проверить модель.Было бы здорово, если бы я мог сделать что-то вроде:

e.should have.errors_on(attr)

У кого-нибудь есть идеи?

1 Ответ

4 голосов
/ 20 июля 2011

Вы можете попробовать это:

e.should have_at_least(1).error_on(attr)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...