如何测试 Jest 没有抛出异常?

问题描述 投票:0回答:3

Jest 文档没有演示一种断言没有抛出异常的方法,而只是抛出了一个异常。

expect(() => ...error...).toThrow(error)

如果一个被没有抛出,我如何断言?

javascript unit-testing error-handling jestjs
3个回答
135
投票

您始终可以使用

.not
方法,如果您的初始条件为 false,该方法将有效。它适用于每个笑话测试:

expect(() => ...error...).not.toThrow(error)

https://jestjs.io/docs/expect#not


38
投票

在我的例子中,被测试的函数是异步的,我需要在调用它后进行进一步的测试,所以我最终得到了这个:

await expect(
  foo(params),
).resolves.not.toThrowError();

// My other expects...

0
投票

在我的例子中,我以简单的方式测试我的异步函数:

it('This should not throw an exception', async () => { await foo() });
© www.soinside.com 2019 - 2024. All rights reserved.