내 단위 테스트 중 하나에서 @ ngrx/store를 조롱하려고합니다. 나는 다른 사양 파일에 성공적으로 기술을 사용했지만, 이것에서 사용하려고 할 때, 나는 아래 사양 파일에서 관련 코드입니다 No provider for Store!
말을 주사 오류 받고 있어요 :각도 - 갈마 - 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을 포함하여, 모두 아무 소용이 시도했다.