Не удалось попытаться проверить мой блок улова внутри - PullRequest
1 голос
/ 08 апреля 2019

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

Функция:

public initialize(): Promise<this> {
    return Promise.resolve()
      .then(() => this.getQueries())
      .catch((error: Error) => {
        this.connector.localLog.error(error, 'Failed to initialize Rest Poller Launcher:');
        throw error;
      });
  }

Юнит-тест:

it('should getQueries return error', () => {
  launcher.initialize()
    .then(() => {
      this.getQueries = stub().throws('TypeError');
    })
    .catch((error: Error) => {
      expect(error.message).equals('Failed to initialize Rest Poller Launcher:');
    });
});

Пожалуйста, помогите мне

1 Ответ

4 голосов
/ 08 апреля 2019

Вам нужно было бы заглушить функцию, прежде чем Обещание будет разрешено. Попробуйте:

it('should getQueries return error', () => {
launcher.getQueries = stub().throws('TypeError');
launcher.initialize()
.then(() => {
// this should not happen
})
.catch((error: Error) => {
  expect(error.message).equals('Failed to initialize Rest Poller Launcher:');
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...