Lors de l'écriture de tests RSpec, je me retrouve à écrire beaucoup de code qui ressemble à ceci afin de m'assurer qu'une méthode a été appelée lors de l'exécution d'un test (pour des raisons d'argument, disons simplement que je ne peux pas vraiment interroger l'état de l'objet après l'appel car l'opération effectuée par la méthode n'est pas facile à voir l'effet de).
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
Ce que je veux savoir, c'est: y a-t-il une meilleure syntaxe disponible que celle-ci? Est-ce que je manque une génialité RSpec géniale qui réduirait le code ci-dessus à quelques lignes? should_receive
On dirait qu'il devrait le faire, mais en lisant plus loin, il semble que ce n'est pas exactement ce qu'il fait.
should_receive
, alors j'ai pensé que cette question aiderait.