Angenommen, ich spioniere eine Methode wie diese aus:
spyOn(util, "foo").andReturn(true);
Die zu testende Funktion wird util.foo
mehrmals aufgerufen.
Ist es möglich, dass der Spion true
beim ersten Aufruf zurückkehrt, false
beim zweiten Mal? Oder gibt es einen anderen Weg, dies zu tun?
javascript
unit-testing
jasmine
mikhail
quelle
quelle
.returnValues
- die beiden Funktionen sind offensichtlich unterschiedlich, aber die Übergabe mehrerer Argumente an.returnValue
gibt keinen Fehler aus. Ich möchte nicht zugeben, wie viel Zeit ich durch diesen einen Charakter verschwendet habe.Für ältere Versionen von Jasmine können Sie
spy.andCallFake
Jasmine 1.3 oderspy.and.callFake
Jasmine 2.0 verwenden, und Sie müssen den Status "aufgerufen" entweder durch einfaches Schließen oder durch Objekteigenschaften usw. verfolgen.quelle