返回承诺时摩卡超过2000毫秒超时[重复]
Posted
技术标签:
【中文标题】返回承诺时摩卡超过2000毫秒超时[重复]【英文标题】:Mocha exceeding 2000ms timeout when returning a promise [duplicate] 【发布时间】:2017-06-23 11:56:41 【问题描述】:我正在尝试测试我的 Express.js 控制器,但我经常遇到 mocha 超时告诉我关闭的问题。
文档 (https://mochajs.org/#working-with-promises) 和此处的答案:https://***.com/a/26572442/1646372 声明我可以返回我正在使用的承诺。
我已经用 Promises 包装了我的 express 控制器,这样我就可以在测试中返回它们。
我有一个基本测试,我可以运行该测试以始终收到错误消息:
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】:您可以在命令行中使用此标志--timeout 5000
设置超时,或者您可以将其添加到测试this.timeout(5000);
的第一行,在函数内部的describe 语句下。
【讨论】:
你写的超时时间是2300,超过2000默认时间是正常的! 对不起,它刚刚点击摩卡超时是最后的窗帘关闭。我在想,如果你返回一个承诺,超时就会被取消,你可以得到尽可能多的时间。现在想想,那会很危险 哈哈哈没关系的朋友!以上是关于返回承诺时摩卡超过2000毫秒超时[重复]的主要内容,如果未能解决你的问题,请参考以下文章