Digamos que estoy espiando un método como este:
spyOn(util, "foo").andReturn(true);
La función bajo prueba llama util.foovarias veces.
¿Es posible que el espía regrese truela primera vez que se le llame, pero regrese falsela segunda vez? ¿O hay una forma diferente de hacerlo?
javascript
unit-testing
jasmine
Mikhail
fuente
fuente

.returnValues: las dos funciones son obviamente diferentes, pero pasar múltiples argumentos a.returnValueno arroja un error. No quiero admitir cuánto tiempo perdí debido a ese personaje.Para versiones anteriores de Jasmine, puede usar
spy.andCallFakeJasmine 1.3 ospy.and.callFakeJasmine 2.0, y tendrá que realizar un seguimiento del estado 'llamado', ya sea a través de un cierre simple o propiedad de objeto, etc.fuente