Ich möchte eine Funktion testen, die eine externe API-Methode zweimal mit verschiedenen Parametern aufruft. Ich möchte diese externe API mit einem Jasmine-Spion verspotten und basierend auf den Parametern verschiedene Dinge zurückgeben. Gibt es eine Möglichkeit, dies in Jasmine zu tun? Das Beste, was ich mir einfallen lassen kann, ist ein Hack mit andCallFake:
var functionToTest = function() {
var userName = externalApi.get('abc');
var userId = externalApi.get('123');
};
describe('my fn', function() {
it('gets user name and ID', function() {
spyOn(externalApi, 'get').andCallFake(function(myParam) {
if (myParam == 'abc') {
return 'Jane';
} else if (myParam == '123') {
return 98765;
}
});
});
});
and.callFake
- jasmine.github.io/2.2/… >