NullInjectorError: Нет провайдера для магазина - PullRequest
0 голосов
/ 28 июня 2018

При выполнении модульных тестов я получаю следующую ошибку:

Error: StaticInjectorError(DynamicTestModule)[BlogService -> Store]: 
  StaticInjectorError(Platform: core)[BlogService -> Store]: 
    NullInjectorError: No provider for Store!

Вот код в моем тестовом файле:

import { TestBed, inject } from '@angular/core/testing';

import { BlogService } from './blog.service';

describe('BlogService', () => {
  beforeEach(() => {
    TestBed.configureTestingModule({
      providers: [BlogService]
    });
  });

  it('should be created', inject([BlogService], (service: BlogService) => {
    expect(service).toBeTruthy();
  }));
});

Я не уверен, почему происходит эта ошибка. Я думал, что вызов 'inject' создает экземпляр службы.

1 Ответ

0 голосов
/ 28 июня 2018

если ваша служба ссылается на хранилище ngrx, вам необходимо импортировать модули ngrx. Сейчас я предполагаю, что вы делаете это в вашем AppModule. Вам нужно продублировать это в вашем модуле TestBed. Я обычно создаю тестовый модуль ngrx, который делает все это, и затем я могу просто импортировать его в любой файл спецификаций, который ссылается на Store

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...