Я хочу смоделировать службу для модульного теста в angularjs, которая выглядит примерно так:
TranslationService.translate(args)
.then(function translated(value) {
//somecode
return;
})
.catch()
.done();
После этого ответа: Как мне сменить службу, которая возвращает обещание в модульном тесте Angularjs Jasmine?
Это то, что я сделал, чтобы высмеивать это:
TranslateServiceMock = {
translate: jasmine.createSpy('translate').and.callFake(function() {
var deferred = $q.defer();
deferred.resolve('Remote call result');
return deferred.promise;
})};
Но похоже, что это все еще не работает, я предполагаю, что это из-за цепочки «сделано» и'catch'methods,
Это ошибка, которую я получаю:
TypeError: undefined is not a constructor (near '....done();...'
Не хватает идей, почему это может происходить или как это исправить ..