Durante la scrittura di test RSpec, mi ritrovo a scrivere molto codice simile a questo per assicurarmi che un metodo sia stato chiamato durante l'esecuzione di un test (per amor di discussione, diciamo solo che non posso davvero interrogare lo stato dell'oggetto dopo la chiamata perché l'operazione che il metodo esegue non è facile da vedere l'effetto di).
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
Quello che voglio sapere è: esiste una sintassi migliore di questa? Mi manca qualche stravagante bellezza RSpec che ridurrebbe il codice sopra a poche righe? should_receive
sembra che dovrebbe farlo, ma leggendo oltre sembra che non sia esattamente quello che fa.
should_receive
, quindi ho pensato che quella domanda sarebbe stata d'aiuto.