You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Cypress 10.0.3执行测试用例时会运行被注释的代码行

问题原因

这个问题是Cypress V10初始版本的已知解析bug+第三方插件适配问题共同导致的:

  • Cypress 10.0.0~10.1.0版本重构了命令预收集逻辑,运行测试前会先扫描代码把所有cy.开头的命令推入执行队列,这个版本的扫描逻辑没有正确识别跨多行的单行//注释,会把注释块内链式调用的Cypress命令错误加入执行队列。
  • 你代码中使用了attachFile命令,说明安装了cypress-file-upload插件,5.0.8之前的旧版本插件没有适配Cypress V10的新命令收集逻辑,会主动遍历代码块找attachFile相关调用,同样不会跳过//注释的内容,进一步放大了这个问题。
  • 少数情况是注释行的//前带有复制粘贴带来的零宽空格、不可见Unicode字符,导致JS引擎实际没有把该行识别为注释。
解决方法

按优先级操作即可:

  • 升级核心依赖:把Cypress升级到10.3.0及以上的V10稳定版本(这个注释解析bug在10.2.0版本已被官方修复),同时把cypress-file-upload升级到5.0.8及以上版本,适配Cypress V10的逻辑。
  • 排查注释格式:如果升级后还有问题,把现有注释的代码全删掉,手动逐行输入//加注释内容,避免复制带来的不可见特殊字符导致注释失效。
  • 临时规避方案:如果暂时不能升级版本,不要用单行//注释多行Cypress命令,改用/* */块级注释包裹要注释的代码段,示例如下:
it.only('Check the item upload file validations', () => {
    /*
    cy.get('[icon="fa fa-cloud-upload"]').click();
    cy.get('#itemListController')
        .attachFile('itemfile.xlsx');
    cy.get('.p-float-label > [type="submit"]').click()
    */
})
  • 调试阶段如果要临时跳过代码,优先用Cypress原生的.skip()API,比如it.skip(...)或者cy.get(...).skip(),比手动注释的可靠性更高。

Cypress executing commented code

内容的提问来源于stack exchange,提问作者Avishka Perera

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.01 14:31:00