[英]No provider for $injector- In AngularJs + Angular 8 Hybrid application unit test case
我正在為 Angular 8 應用程序編寫單元測試用例。 這是 AngularJs + Angular 8 的混合應用。
我收到以下錯誤:
NullInjectorError: StaticInjectorError(DynamicTestModule)[TestService -> $injector]:
StaticInjectorError(Platform: core)[TestService -> $injector]:
NullInjectorError: No provider for $injector!
我不確定,如何模擬 $injector 類。 我嘗試了模擬TestService
,我將無法涵蓋該場景中的某些集成測試用例。
任何對模擬 $injector 類的幫助將不勝感激。
您可以為 $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 的空對象。
它的語法錯誤,TestService 導入正確的組件/模塊。 有關更多信息“ https://angular.io/start ”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.