我正在使用脚本运行我的测试文件
"test": "node_modules/.bin/mocha *.test.js
但在第一个测试中,我发送到 Node.js 服务器 while(1);
并导致其超时,同时使该测试失败。这是预期的行为,但之后如何让 mocha 运行其余文件?
最佳答案
Mocha 的存储库中存在与您的案例相关的问题。
Infinite loops seem to escape timeouts #1609
TL:DR 这在 Mocha 中是不可能的(因为 Node 的工作方式)。
您可以阅读有关此问题的有趣讨论。 它阻止所有代码的原因是 Node 的工作方式。 代码完全以同步方式逐行执行。
异步魔法发生在 Node 事件循环中。 但是当你运行无限循环时,事件循环将被阻塞,因为一次只能运行一个事件,并且该事件永远不会结束:)
关于node.js - Mocha,超时后转到下一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59217740/