Как использовать Chai, чтобы гарантировать ошибку Promise бросков? - PullRequest
0 голосов
/ 07 марта 2020

В настоящее время, когда у меня есть обещание, которое выдает ошибку, чтобы проверить правильность выданной ошибки, я делаю что-то вроде следующего:

let result, error;
try {
    result = await myFunction();
} catch (e) {
    error = e;
}

expect(result).to.not.exist;
expect(error).to.eql(new Error("You must pass in a parameter."));

Принимая во внимание, что если myFunction было не обещание или асин c функция, я мог бы сделать следующее.

expect(() => myFunction()).to.throw(new Error("You must pass in a parameter."));

Есть ли лучший способ проверить, не возникает ли ошибка для функции обещание / асин c при использовании мокко / Chai?

1 Ответ

0 голосов
/ 12 марта 2020

Вы можете использовать chai-as-обещано

Ваш код будет примерно таким (не проверено):

return expect(myFunction()).be.rejectedWith(Error, 'You must pass in a parameter.');
...