0
這是我做了100次的事情,但是對於我的生活無法解決這裏發生的事情。
我已經有了這個現有的測試模塊,其中所有20+測試都完美地工作。
現在我正在嘗試將$q
添加到此服務中以獲取新方法。我用我以前使用的完全一樣的方法,但由於某種原因$q
未定義:
describe('CacheService module',() => {
let cacheService, $q, $scope;
beforeEach(() => {
angular.mock.module('app.CacheService', ($provide) => {
$provide.value('$q', $q);
});
inject((_$rootScope_, _$q_, _CacheService_) => {
$scope = _$rootScope_.$new();
$q = _$q_;
cacheService = _CacheService_;
console.log(_$q_); // undefined
});
});
});
下測試服務聲明:
angular.module('app.CacheService', []).service('CacheService', [ '$q', function($q) {
....
}]);
感謝
啊!你是對的!實際上我在我的實際代碼中注入了另一個模擬服務,所以我仍然需要提供block,但是從它中刪除'$ provide.value('$ q',$ q)'已經修復了它。謝謝。 – James
我只是把它拿出來,因爲在你的例子中你沒有設置任何其他東西。絕對需要它,如果你提供嘲笑。很高興現在正在工作。 – Patrick