Wie verspotten Sie Angular-Service, der eine Funktion ist?
Wir haben eine, wie wir sie nennenCORShttpService
, das ist im Grunde ein Wrapper um die$http
kapselt jedoch einige CORS-Funktionen ein, die wir benötigen. Ich schreibe jetzt einige Tests für einen Dienst, der das hatCORShttpService
hinein gespritzt. Dieser Dienst hat folgenden Code:
CORShttpService({method: requestMethod, url: getUrl(path), data: data}).
success(function(data, status, headers) {
//do success stuff
}).
error(function(data, status, headers) {
//do error stuff
});
Ich möchte den Anruf verspottenCORShttpService
, aber ich bin nicht sicher, wie ich es machen soll. Ich benutze Jasmine und seinespyOn
Funktion erfordert ein Objekt, um die Funktion auf dem Objekt zu verspotten. MeineCORShttpService
ist nicht an ein Objekt gebunden, daher weiß ich nicht, wie ich es verspotten soll. Ja, ich könnte es gebrauchen$httpBackend
um die Anfragen zu verspotten, die irgendwann in derCORShttpService
, aber ich möchte nicht, dass es überhaupt in den Dienst kommt. Ich möchte den Unit-Test isolieren und die externen Anrufe einfach verspotten. Kann ich mich auf irgendeine Weise über diesen Dienst lustig machen, der nur eine Funktion ist?