Шут жалуется на ошибку ... что я сказал шуту ожидать - PullRequest
1 голос
/ 08 января 2020

Я пишу шутниковый тест, который ожидает выдачи ошибки:

it("safeGithubPush()", () => {
  const err = new Error('job not valid')
  expect(productionDeployJob.safeGithubProdPush(unsafeJob)).toThrow(err);
});

Ошибка выброшена. Тем не менее, вместо того, чтобы просто пройти этот тест, он говорит, что не проходит, и указывает, где эта ошибка создается в моей программе

FAIL  tests/unit/productionDeploy.test.js
● ProductionDeploy Test Class › safeGithubPush()

job not valid

   8 | const uploadToS3Timeout = 20;
   9 | 
> 10 | const invalidJobDef = new Error("job not valid");

Почему он жалуется, что ошибка была выдана, когда я говорю, что ожидать того же ошибка?

1 Ответ

2 голосов
/ 08 января 2020

Вы вызываете метод safeGithubProdPush на месте.

Чтобы Jest мог отловить ошибку, выданную методом, вы должны дать expect функцию, заключающую в себе вызов:

expect(() => productionDeployJob.safeGithubProdPush(unsafeJob)).toThrow(err);

Как и в документах:

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

https://jestjs.io/docs/en/expect#tothrowerror

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...