Одним из возможных решений является перенаправление ошибки на путь успеха, а затем проверка этого значения. Это может быть полезно, когда в тестируемом потоке есть логика, связанная с выдачей разных типов ошибок (хотя в таком случае теста для instanceof Error
, конечно, будет недостаточно).
it('should be of type error', () => {
of(1)
.pipe(
map(() => {
throw new Error('err');
}),
catchError(error => of(error)))
.subscribe(result => {
expect(result instanceof Error).toBe(true);
});
});
Но более распространенный подход afaik - проверить, был ли вызван правильный обратный вызов, как упоминал JB Nizet. Например. у вашей службы есть метод handleError
, который следует вызывать при ошибке потока.