首页 文章

返回承诺时摩卡超过2000毫秒超时[重复]

提问于
浏览
0

这个问题在这里已有答案:

我正在尝试测试我的Express.js控制器,但每次经常遇到mocha超时告诉我的问题 .

文档(https://mochajs.org/#working-with-promises)和答案在这里:https://stackoverflow.com/a/26572442/1646372声明我可以返回我正在使用的承诺 .

我用Promises包装了我的快速控制器,以便我可以在测试中返回它们 .

我有一个基本的测试,我可以运行以始终获取错误消息:

it('should return', () => {
  return new Promise(resolve => {
    setTimeout(() => {
      resolve('hello');
    }, 2300);
  });
});

我得到的错误是:

Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.

我不明白为什么错误存在,因为我正在返回一个确实解决的承诺 .

1 回答

  • 2

    您可以使用此标志 --timeout 5000 在命令行中设置超时,也可以在函数内的describe语句下的测试 this.timeout(5000); 的第一行添加此超时 .

相关问题