Cuando escribo pruebas de RSpec, me encuentro escribiendo una gran cantidad de código que se ve así para asegurarme de que se llamó a un método durante la ejecución de una prueba (por el bien del argumento, digamos que realmente no puedo interrogar el estado del objeto después de la llamada porque la operación que realiza el método no es fácil de ver el efecto 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
Lo que quiero saber es: ¿Existe una sintaxis mejor disponible que esta? ¿Me estoy perdiendo algo de genialidad de RSpec funky que reduciría el código anterior a unas pocas líneas? should_receive
Parece que debería hacer esto, pero leyendo más, parece que no es exactamente lo que hace.
should_receive
, así que pensé que esa pregunta ayudaría.