Сервис, который я хочу протестировать, имеет следующий конструктор
constructor(@Inject('enviroment') environment) {
this.initConfig(environment);
}
среда предоставляется в app.module под провайдерами
{ provide: 'environment', useValue: environment }
Итак, я настроил TestBed следующим образом
beforeEach(() => {
TestBed.configureTestingModule({
providers: [{ provide: 'environment', useValue: testEnv }, TestService]
});
service = TestBed.get(TestService);
});
И я продолжаю получать
Error: StaticInjectorError(DynamicTestModule)[enviroment]:
StaticInjectorError(Platform: core)[enviroment]:
NullInjectorError: No provider for enviroment!
Сам код отлично работает при обслуживании / сборке, поэтому я предполагаю, что ошибка где-то в том, как я настроил TestBed? Я также пытался использовать фабрику безрезультатно.
beforeEach(() => {
TestBed.configureTestingModule({
providers: [{ provide: 'environment', useFactory: ()=>testEnv }, TestService]
});
service = TestBed.get(TestService);
});