私のユニットテストの1つでは、私は@ ngrx/storeを模倣しようとしています。私は別のspecファイルで正常に技術を使用しましたが、このいずれかでそれを使用しようとすると、私は以下No provider for Store!
はspecファイルから該当するコードであると言って射出エラーを取得しています:角度 - カルマ - ngrx - 店舗のプロバイダがありません
beforeEach(async(() => {
const emptyState = { opportunities: { list: { items: [], page: 1, total: 0 } } };
const mockStore = new MockStore<MockAppState>(emptyState);
TestBed.configureTestingModule({
declarations: [
OpportunityListComponent,
FilledArrayPipe
],
imports: [
NgFilterListModule,
FormsModule
],
providers: [
{ provide: OpportunityApi, useValue: apiStub },
{ provide: Store, useValue: mockStore },
{ provide: Router, useValue: routerStub }
]
}).compileComponents();
}));
beforeEach(() => {
store = fixture.debugElement.injector.get('Store');
});
のみこのコンポーネントとMockStoreクラスをうまく使用するコンポーネントとの違いは、このコンポーネントがAppModuleとは別のモジュールに遅延ロードされていることです。しかし、私はそのモジュールでStoreModuleをインポートしようとしましたが、TestBedのインポートにStoreModuleを含めることはできませんでした。