我正在处理一个使用angularjs 1.7.3的现有项目。我一周前开始进行这项工作,发现没有任何测试,因此我决定开始在控制器/过滤器上实施一些测试。
我是Jasmin和Karma的新手,但仔细阅读了文档,一切似乎都很好。但是所有测试中最简单的测试失败了:
describe('this is my first filter', function() {
var $filter;
beforeEach(inject(function(_$filter_){
$filter = _$filter_;
}));
it('returns 0 when given null', function() {
//$filter('length');
expect(true);
});
});
它不是测试,但是注入失败。确实,如果我删除了beforeEach调用,它将运行。我得到的错误是:
Error: [$injector:unpr] Unknown provider: $$taskTrackerFactoryProvider <- $$taskTrackerFactory <- $browser <- $rootScope <- $browser
在Google中进行一些搜索后,我发现有人遇到类似的问题,只是将角度模拟降级到1.6.9可以使错误消失 (Angular js 1.6.9 tests Unknown provider: $$taskTrackerFactoryProvider)。
为什么?
我已经在使用角度1.7.3。这是我应该担心的事情吗?奇怪的是,对于一个简单的项目(该项目在几个月前开始,规模很小),我必须使用不同版本的angular才能使工作正常。也许项目有问题。任何提示都可以指示我正确的方向。也许这是一个已知问题?