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?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage