Я новичок в юнит-тестировании.У меня есть компонент, который вызывает службу для отображения списка студентов.
getListStudents() {
this.noteService.getStudents({}).subscribe(res => {
this.students= res
})}
, затем я вызываю эту функцию в ngOnInit ()
if(this.currentUser.Type == 'Teacher'){
this.getListStudents()
}
без утверждения if, тест верен, нос оператором if он сломался
это мой тест
it('should call the service getStudents', () => {
component.currentUser={ "Type": "Teacher"}
let mock = [{
"ID": 22,
"name": "paul"
}]
let service: NoteService = TestBed.get(NoteService);
spyOn(service, 'getListStudents').and.returnValue(of(mock));
fixture.detectChanges();
expect(component.students.length).toBe(1)
});
я получил ошибку Не могу прочитать свойство 'Type' с нулевым значением, и когда я удаляю оператор if из ngOnInit, он работает так, как ожидалось.я делаю неправильно?Пожалуйста, предложите мне решение этой проблемы. Спасибо