错误: `--timeout 0` 不会禁用超时
作者: bdcarr创建于 2022年2月24日更新于 2026年9月17日
标签type: bugstatus: accepting prssemver-major
· 先决条件
- 检查您的问题尚未通过交叉引用标有"faq"标签的问题存档.
- 通过使用相同的环境和(或)没有Mocha的转接器配置,检查了下源 ES 问题和语法问题,以确保它不仅仅是一个在相关环境中实际上不被支持的特性,或者在您的代码中是一个错误.
- 'Smoke tested' 通过在真正的测试套件外运行来测试的代码, 以便更好地了解问题是否在测试中的代码中, 您对Mocha的用法, 或者Mocha本身
- 确保当地和全球安装的Mocha版本之间没有差异。 您可以通过“node modules/.bin/mocha-version”(当地)和“mocha-version”(全球)找到它们。 我们建议你在全球安装Mocha
说明
我用IntelliJ的调试器进行了摩卡测试,自动设置了"-时出0". 它在看东西时暂停了几分钟,当我恢复时,它就停了。
- 重现步骤
- 创建包含单一描述()和单一描述()的测试脚本(你可以做更多,这只是一个简单的例子)
- 在描述()内,放出`This.timeout(T)'(我没有尝试在描述(T)内拨打超时),不确定行为是否改变)
- 确保
() ' 运行所需时间比T ' 长:设置一个断点,或添加需要更长的代码 - 以 " -- -- 超时0 " 进行测试
实例
- 请检查access-date=中的日期值 (帮助) https://GitHub.com/bdcarr/mocha-timeout-bug/tree/main.
- `cd新版本'
- `npm安装'
- " npm 运行测试 "
还有一个“旧版本”文件夹,它包含同样的测试脚本,但包.json被设定使用[email protected],这是最后一个没有出现这个问题的版本. 我查了v8.0.0 问题就发生了
** 预计行为:** [无论试验需要多长时间,如果用`------------------------(https://ZZZTERM3-ZZ.com/mocha/blob/547ffd735088322579d3d2026432112eae3d4b/docs/index.md#---t------------------------)运行,试验不会超时。
** 实际行为:** `T ' 毫秒后的试验时间
!. [2022-02-25-10-35-05] (https://user-images.githubusercontent.com/19408/155625303-05ac86ac-f738-4c0a-ae1f-bd9c6f1d80b2.png).
** 复制次数:** 100%
QQ 版本数
- “mocha-version”和“node modules/.bin/mocha-version”的产出:没有全球安装。 在v8.0.0和v9.2.1上转载了这个问题。 v7.2.1没有出现问题.
- “节点-转换”的产出:v14.9.0
- 你的操作系统
- 名称和版本:MacOS 12.2.1
- 架构(32或64位):64位
- 你的外壳(例如:bash、zsh、PowerShell、cmd):zsh v5.8
- 与Mocha有关的任何第三方模块(及其版本):无
- 正在使用的任何代码转接器(例如:TypeScript、CoffeeScript、Babel)(及其版本):n/a,无进口的直接节点JS
内容来源: mochajs/mocha