如何正确测试Jest中setTimeout内部抛出的错误?

时间:2020-01-20 20:55:51

标签: javascript node.js unit-testing jestjs

我正在尝试测试边缘测试用例,这似乎可以重现我的测试行为:

it('should catch async error 2', async () => {
   const foo = async () => {
      await new Promise(resolve => setTimeout(resolve, 10));
      await new Promise(() => setTimeout(() => {
         throw new Error('Test');
      }, 10));
   }

   await expect(foo()).rejects.toThrow();
});

测试失败,但应根据条件通过。如何在不修改功能foo的情况下正确捕获和评估此错误?

0 个答案:

没有答案