我试图测试我的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.
我不明白为什么错误存在,因为我回复了一个确实解决的承诺。
答案 0 :(得分:2)
您可以使用此标志--timeout 5000
在命令行中设置超时,或者您可以在函数内的describe语句下的测试this.timeout(5000);
的第一行添加此内容。