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