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ą?