Почему бы ОШИБКА не была брошена в тесте Жасмин? - PullRequest
0 голосов
/ 08 июля 2019

Я пытаюсь, чтобы фиктивный вызов выдавал ошибку, но я получаю сообщение об ошибке «Ожидаемая функция сгенерирует ошибку»

Ниже приведен код, который я пробовал.Я следил за несколькими другими вещами здесь, но мне не повезло.

it ('should throw err', () => {
    const mockCall = spyOn(service, 'update$').and.returnValue(throwError(new Error(error')));
    expect(mockCall).toThrowError();
});

Ответы [ 2 ]

1 голос
/ 08 июля 2019

Во-первых, отсутствует одинарная кавычка '. Далее, я думаю, вы должны реализовать это следующим образом:

const mockCall = spyOn(service, 'update$').and.throwError('error');

Вы не хотите издеваться над возвратом функции, а вызывать исключение.

0 голосов
/ 08 июля 2019

Вы можете смоделировать и выбросить ошибку из сервисного метода, используя callFake. При связывании spy с and.callFake все вызовы шпиону будут делегированы предоставленной функции:

spyOn(service, 'update$').and.callFake(() => throwError(new Error('Fake error')));

expect(service.update$()).toThrow();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...