在我的一个单元测试中,我正在尝试模拟@ ngrx / store.我已经在另一个spec文件中成功使用了该技术,但是当我尝试在这个中使用它时,我收到一个注入错误,说没有商店提供商!以下是spec文件中的相关代码:
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,两者都无济于事.
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。