Коли я пишу тести RSpec, я вважаю, що я пишу багато коду, який виглядає приблизно так, щоб переконатися, що метод був викликаний під час виконання тесту (заради аргументу, скажімо просто, я не можу реально допитати стан об'єкта після виклику, оскільки операція, яку виконує метод, нелегко побачити ефект).
describe "#foo"
it "should call 'bar' with appropriate arguments" do
called_bar = false
subject.stub(:bar).with("an argument I want") { called_bar = true }
subject.foo
expect(called_bar).to be_true
end
end
Що я хочу знати: чи є симпатичніший синтаксис, ніж цей? Чи пропускаю я якусь прикольну приємність RSpec, яка б зменшила вищевказаний код до кількох рядків? should_receive
звучить так, як слід це робити, але читаючи далі, це здається, що це не зовсім те, що він робить.
should_receive
, тому я подумав, що це питання допоможе.