我正在为Angular 8应用程序编写单元测试用例。这是AngularJs + Angular 8的混合应用程序。
我收到以下错误:
NullInjectorError: StaticInjectorError(DynamicTestModule)[TestService -> $injector]:
StaticInjectorError(Platform: core)[TestService -> $injector]:
NullInjectorError: No provider for $injector!
我不确定如何模拟$injector类。我尝试了模拟TestService
,我将无法在该场景中涵盖一些集成测试用例。
在模拟$injector类方面的任何帮助都将不胜感激。
发布于 2020-06-24 11:53:04
您可以为$injector创建一个模拟对象。我在我的项目中遇到过类似的$rootscope问题,我使用Angular provider为$rootscope提供了一个空对象:
{provide: '$rootScope',useValue : {}}
This provider will be part of TestBed configuration like this :
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [],
imports: [],
providers : [{provide: '$rootScope',useValue : {}}]
})
.compileComponents();
}));
您可以根据需要提供任何虚拟值,而不是为useValue提供空对象。
发布于 2019-12-18 04:55:22
这是一个语法错误,TestService导入正确的组件/模块。有关更多信息,请使用"https://angular.io/start“
https://stackoverflow.com/questions/59385599
复制相似问题