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

在我的一个单元测试中,我正在尝试模拟@ 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.删除引号修复了我的问题.

相关文章

ANGULAR.JS:NG-SELECTANDNG-OPTIONSPS:其实看英文文档比看中...
AngularJS中使用Chart.js制折线图与饼图实例  Chart.js 是...
IE浏览器兼容性后续前言 继续尝试解决IE浏览器兼容性问题,...
Angular实现下拉菜单多选写这篇文章时,引用文章地址如下:h...
在AngularJS应用中集成科大讯飞语音输入功能前言 根据项目...
Angular数据更新不及时问题探讨前言 在修复控制角标正确变...