返回承诺时,摩卡超过2000毫秒超时

时间:2017-02-06 13:56:16

标签: node.js express mocha es6-promise

我试图测试我的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 个答案:

答案 0 :(得分:2)

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