Jest - ожидай бросить тест сообщения - PullRequest
0 голосов
/ 16 декабря 2018

Я пытаюсь написать тест, чтобы проверить, не выдана ли ошибка

exports.handler = async data => {
  try {
      throw new Error("Invalid Data")
    };
  } catch (err) {
    throw err;
  }
};

Я написал тест, который работает, как ожидалось

it("Throw Error Invalid Data", async () => {
    try {
       await function.handler({});
    } catch (err) {
      expect(err).toEqual(new Error("Invalid Data"));
    }
})

Как избежать использования try /поймать блок в тесте?

Ответы [ 2 ]

0 голосов
/ 16 декабря 2018

Как это :

await expect(handler({})).rejects.toThrow(new Error("Invalid Data"));
0 голосов
/ 16 декабря 2018

Вы можете использовать помощник .rejects:

it("Throw Error Invalid Data", () => {
  return expect(handler({})).rejects.toEqual(new Error("Invalid Data"));
});

Или с асинхронной функцией:

it("Throw Error Invalid Data", async () => {
  await expect(handler({})).rejects.toEqual(new Error("Invalid Data"));
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...