我正在尝试测试Express.js控制器,但是每隔一段时间我就会碰到mocha超时提示我的问题。
文档(https://mochajs.org/#working-with-promises)
我用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.
我不明白为什么会出现错误,因为我正在返回确实解决的承诺。
您可以使用此标志在命令行中设置超时,--timeout 5000也可以this.timeout(5000);在函数内describe语句下的test的第一行添加超时。
--timeout 5000
this.timeout(5000);