#angular #karma-jasmine
#angular #карма-жасмин
Вопрос:
ts-файл:
@input() selectedDep: WebMessagingDeployments[]
файл спецификации:
beforeEach(() => {
fixture = TestBed.createComponent(DeploymentAssignmentFormComponent);
component = fixture.componentInstance;
console.log(component.selectedDep) // returns undefined
component.selectedDep.push(mockDepData); //this line throws error. TypeError: Cannot read property '0' of undefined
}));
Ответ №1:
Похоже, вы не инициализировали selectedDep
ни свой компонент, ни свой тестовый файл.
Есть несколько вариантов:
- Инициализировать при объявлении
@Input() selectedDep: WebMessagingDeployments[] = [];
- Инициализировать в тесте
fixture = TestBed.createComponent(DeploymentAssignmentFormComponent); component = fixture.componentInstance; component.selectedDep = [/* значение здесь */]; fixture.DetectChanges();