加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Angular – Karma – ngrx – 没有商??店提供商

发布时间:2020-12-17 17:33:53 所属栏目:安全 来源:网络整理
导读:在我的一个单元测试中,我正在尝试模拟@ ngrx / store.我已经在另一个spec文件中成功使用了该技术,但是当我尝试在这个中使用它时,我收到一个注入错误,说没有商店提供商!以下是spec文件中的相关代码: beforeEach(async(() = { const emptyState = { opportun
在我的一个单元测试中,我正在尝试模拟@ 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,两者都无济于事.

解决方法

结果我的问题是我在fixture.debugElement.injector.get(‘Store’)调用中引用了Store.删除引号修复了我的问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读