Beim Schreiben von RSpec-Tests schreibe ich viel Code, der so aussieht, um sicherzustellen, dass während der Ausführung eines Tests eine Methode aufgerufen wurde (aus Gründen der Argumentation sagen wir einfach, dass ich den Status nicht wirklich abfragen kann des Objekts nach dem Aufruf, da die Operation, die die Methode ausführt, die Wirkung von) nicht leicht zu erkennen ist.
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
Was ich wissen möchte ist: Gibt es eine schönere Syntax als diese? Vermisse ich eine funky RSpec-Attraktivität, die den obigen Code auf ein paar Zeilen reduzieren würde? should_receive
klingt so, als ob es das tun sollte, aber weiter zu lesen klingt so, als ob es nicht genau das ist, was es tut.
should_receive
, also dachte ich, diese Frage würde helfen.