node.js - Mocha,超时后转到下一个文件

标签 node.js mocha.js

我正在使用脚本运行我的测试文件

"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/

相关文章:

unit-testing - 使用 mocha 测试 Angular 2 服务

javascript - res.should.have.status 给我错误

meteor - Mocha-web 客户端测试未使用 Velocity for Meteor 应用程序运行

node.js - 使用 'require' 时如何从库中加载 CSS

javascript - 当我运行 Mocha 测试时,我总是收到错误 : connect ECONNREFUSED

javascript - Chai-as-promised - 带有promise的expect总是转变成一个空对象

javascript - 在客户端 javascript 文件中使用 JSON 数据

javascript - 如何让这段代码在现代nodejs中运行?

javascript - Loopback: "Unhandled rejection Error: The transaction is not active"同时开始10个事务

node.js - "TypeError: failed to fetch"用于 Wso2 apim 存储中的 api 调用