#4834·mocha

错误: `--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". 它在看东西时暂停了几分钟,当我恢复时,它就停了。

  • 重现步骤
  1. 创建包含单一描述()和单一描述()的测试脚本(你可以做更多,这只是一个简单的例子)
  2. 在描述()内,放出`This.timeout(T)'(我没有尝试在描述(T)内拨打超时),不确定行为是否改变)
  3. 确保() ' 运行所需时间比T ' 长:设置一个断点,或添加需要更长的代码
  4. 以 " -- -- 超时0 " 进行测试

实例

  1. 请检查access-date=中的日期值 (帮助) https://GitHub.com/bdcarr/mocha-timeout-bug/tree/main.
  2. `cd新版本'
  3. `npm安装'
  4. " 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