Angular 6, я объявляю некоторые введенные переменные в конструкторе моего компонента, но я не знаю, как настроить введенное значение в файле модульного теста, когда я запускаю ng test
, и это дает следующую ошибку:
Ошибка: StaticInjectorError (DynamicTestModule) [title]:
StaticInjectorError (Платформа: ядро) [название]:
NullInjectorError: Нет провайдера для заголовка!
// Мой компонент
export class ConfirmModalComponent extends BaseModal implements OnInit {
choosedCandidates: Array<any> = [];
constructor(
@Inject('title') public title,//injected variable
protected modalService: ModalService
) {
super();
}
ngOnInit() {
}
....
}
//spec file of my component
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ DelInterviewerConfirmModalComponent ],
imports: [ CheckboxModule, TranslateModule ],
providers: [
{ provide: title, useValue: 'modal title' },
ModalService,
RequisitionDetailService ],
schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA ],
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(DelInterviewerConfirmModalComponent);
component = fixture.componentInstance;
component.title = "test";
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
Интересно, сталкивался ли кто-нибудь с такой же проблемой и как устранить ошибки, заранее спасибо.