#javascript #typescript #karma-jasmine
Вопрос:
У меня есть эта ошибка при модульном тестировании с помощью jasmine:
Неперехваченная ошибка типа: Не удается прочитать свойство «фильтр» неопределенного брошенного
Моя функция:
info() {
this.requestService.postRequest('Reports', 'getInfo', {})
.subscribe(
data => {
this.places = data.places;
this.types = data.types.filter(obj => obj.id != 20);
this.loading = false;
},
error => {
console.log(error);
this.loading = false;
});
};
Испытание:
it('When call requestService.postRequest', () => {
spyOn(component.requestService, 'postRequest').and.returnValue(of({}));
component.info();
expect(component.requestService.postRequest).toHaveBeenCalled();
expect(component.requestService.postRequest).toHaveBeenCalledTimes(1);
});
Ответ №1:
data
Объект, похоже, не обладает types
свойством (или places
свойством, если на то пошло. Похоже, тебе нужно измениться
spyOn(component.requestService, 'postRequest').and.returnValue(of({}));
Для
spyOn(component.requestService, 'postRequest').and.returnValue(of({
places: [],
types: []
}));
Комментарии:
1. Пожалуйста, отметьте этот ответ как правильный, если он решает проблему. 🙂