0
(function (angular) {
'use strict';
var testingModule= angular.module('testingModule', []);
testingModule.factory('testService', [ '$q',
function ($q) {
var service = {
get: null
},
tokenDeferred = $q.defer(),
service.getDataWithPromise = function() {
tokenDeferred.resolve({token: this.token, isAuthenticated: true});
}
});
return tokenDeferred.promise;
};
})(angular)
このケースの単体テストを作成しようとすると、$ qが未定義となります。 ($q
を囲む二重のアンダースコアに注意してください)
beforeEach(inject(function ($q_, _testService_) {
q = $q
fmOauthAccessTokenService = _testService_;
scope = $rootScope.$new();
}));
あなたが注入されてきました* $のQ_をが、 '$ q'を使って' q'に代入しています。だからあなたはエラーを受けている。 これは、$ q_または$ qのいずれかである必要があります。角度分解は_ $ q_を$ qとしてのみ行います。だから大きな違いはありません。 –