У меня есть следующая функция, которую я хотел бы проверить.
loadFromLocal(file:File) : Observable<any> {
let content:string;
const reader: FileReader = new FileReader();
reader.readAsText(file);
return new Observable<any>(observer => {
reader.onloadend = ()=> {
content = JSON.parse(reader.result as string);
observer.next(content);
observer.complete();
};
reader.onerror = (error):void => {
observer.error(error);
}
})
}
onloadend
я мог бы протестировать так:
it('should load local file',() => {
const demoContent = '{"content":"example"}'l
const demoFile = new File([demoConent],'file.json',{type: 'application/json'});
service.loadFromLocal(demoFile).subscribe( res => {
expect(res).toEqual(JSON.parse(demoContent));
});
});
Мой вопрос в том, как я могу проверить его часть onerror
? Я видел этот вопрос, но на него не было правильного ответа. Я попытался отправить null
или undefined
в функцию, но это вызвало исключение ранее и не было поймано в моей симуляции ошибочной части наблюдаемой
FileReader
и отправить событие ошибки в метод чтения (readAsText
в вашем случае). - person Lana   schedule 12.04.2021