Jak drwisz z usługi Angular, która jest funkcją?

Mamy to, co nazywamyCORShttpService, który jest w zasadzie owijką$http usługi, ale obejmuje niektóre funkcje CORS, których potrzebujemy. Piszę teraz testy dla usługi, która maCORShttpService wstrzyknięty do niego. Ta usługa ma następujący kod:

CORShttpService({method: requestMethod, url: getUrl(path), data: data}).
    success(function(data, status, headers) {
        //do success stuff
    }).
    error(function(data, status, headers) {
       //do error stuff
    });

Chcę drwić z połączeniaCORShttpService, ale nie wiem, jak to zrobić. Używam Jasmine i jejspyOn Funkcja wymaga obiektu, aby zmylić funkcję na obiekcie. MójCORShttpService nie jest dołączony do żadnego obiektu, więc nie wiem, jak się z niego wyśmiać. Tak, mógłbym użyć$httpBackend kpić z żądań, które ostatecznie zostaną ustawione wCORShttpService, ale nie chcę, żeby to się w ogóle zajmowało tą usługą. Chcę wyizolować test urządzenia i po prostu wyszydzić połączenia zewnętrzne. Czy jest jakiś sposób, żeby wykpić tę usługę, która jest tylko funkcją?

questionAnswers(2)

yourAnswerToTheQuestion