¿Cómo te burlas del servicio angular que es una función?

Tenemos lo que llamamos unCORShttpService, que es básicamente una envoltura alrededor del$http servicio, pero encapsula algunas funciones de CORS que necesitamos. Ahora estoy escribiendo algunas pruebas para un servicio que tiene laCORShttpService inyectado en ella. Este servicio tiene un código como este:

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

Quiero burlarme de la llamada aCORShttpService, pero no estoy seguro de cómo hacerlo. Estoy usando Jasmine, y esspyOn La función requiere un objeto para burlarse de la función en el objeto. MiCORShttpService no está adherido a ningún objeto, así que no sé cómo burlarme de él. Si yo podria usar$httpBackend para burlarse de las solicitudes que finalmente se establecen en elCORShttpService, pero no quiero que entre en ese servicio en primer lugar. Quiero aislar la prueba de la unidad y simplemente burlarme de las llamadas externas. ¿Hay alguna manera de que pueda burlarme de este servicio que es solo una función?

Respuestas a la pregunta(2)

Su respuesta a la pregunta