如何在Jest中检查异步抛出的错误类型?

时间:2018-02-02 10:36:47

标签: javascript async-await jest

假设我有这样的功能:

const f = async () => {
  throw new Error('Huh???!');
};

我想测试它使用Jest抛出RangeError(而不仅仅是Error)。

test('f throws a RangeError', () => {
  expect(f()).rejects.toThrowError(RangeError);
});

然而,这个测试通过了。

如何检查在Jest中异步抛出的错误类型?

1 个答案:

答案 0 :(得分:1)

您可以在toBeInstanceOf之后使用rejects匹配器:

test('f throws a RangeError', () => {
  expect(f()).rejects.toBeInstanceOf(RangeError);
});