Определение теста, который требует двух шагов для прохождения в rspec - PullRequest
0 голосов
/ 03 мая 2011

Есть ли лучший способ сделать это?

describe '#reset_all' do
  it 'should reset foo for all objects' do
    manager.iterate_all
    manager.reset_all
    obj1.foo.should == 0
    obj2.foo.should == 0
  end
end

Это кажется грязным, потому что вторая строка "should ==" дает мне синтаксическое предупреждение о "бесполезном использовании == в пустом контексте", и я также получаю только одну ошибку, если оба требования не выполняются. Но это не кажется достаточно важным, чтобы сделать отдельный тест.

1 Ответ

2 голосов
/ 03 мая 2011

Вы можете сделать это с помощью

(obj1.foo == 0 && obj2.foo == 0).should be_true

или с помощью

[obj1, obj2].all?{|o| o.foo == 0}.should be_true

Получение более одного сообщения об ошибке для одного теста в принципе невозможно.

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