我正在尝试测试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的第一行添加超时。
问题内容: 我希望能够同时启动我在Mocha中的所有describe语句。有人可以帮我弄清楚该怎么做吗? 问题答案: 您无法直接使用mocha进行此操作,因为它会创建it()回调的列表并按顺序调用它们。 如果您愿意将自己的描述移到单独的.js文件中,mocha- parallel-tests 可以执行此操作。为了说服自己,请将其安装在某个地方,然后用–low缓慢调用它,以便每次都报告: 您将看到它
问题内容: 以下测试的行为异常: 我应该如何正确处理被拒绝的承诺(并进行测试)? 我应该如何正确处理失败的测试(即:? 这是我正在测试的实现: 问题答案: 最简单的方法是使用Mocha在最新版本中提供的内置Promise支持: 或者使用现代Node和async / await: 因为这种方法是端到端的承诺,所以它更易于测试,您不必考虑正在考虑的奇怪情况,就像到处都是奇怪的电话一样。 这是Mocha
我有一个叫MochaTests的目录。在这里,我有一个在摩卡网站“1.2.3摩卡”上找到的示例测试。在命令提示符下(我的操作系统是WIN7),我输入Mocha,结果是。我按照说明进行了安装:,我可以告诉它安装得很好 所以,在
问题内容: 我正在尝试使用Mocha来测试构造函数是否引发错误。我无法使用Expect语法执行此操作,因此我想执行以下操作: 这可能吗? 问题答案: 您可以尝试使用Chai的 构造。例如:
问题内容: 关于这两个重要来源:NZakas- 承诺链中的归还承诺 和MDN承诺,我想提出以下问题: 每次我们从承诺履行处理程序返回值时,该值如何传递给从同一处理程序返回的新承诺? 例如, 在这个例子中,是一个承诺。也是来自履行处理程序的承诺。但是。取而代之的是神奇地解决(如何?),然后将该值传递给的实现处理程序。即使是这里的句子也令人困惑。 您能给我解释一下这到底是怎么回事吗?我对这个概念感到困
我正在尝试使用Java开发2D游戏。到目前为止,我已经设法将游戏设置为使用全屏独占模式,并在自定义线程中进行活动渲染。我决定使用的游戏循环是固定时间步长变量渲染类型。这种类型的游戏循环应该尽可能快地渲染设备可以处理,我对此并不完全满意。所以我试图使用来限制帧速率。 如果我关闭所有渲染,并简单地在游戏循环中更新游戏,< code>Thread.sleep(1)大约在< code>1 ms内成功Hib