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

Cypress 6.14.15版本仍报错cy.intercept is not a function是什么原因?

问题根因

1. 项目本地Cypress版本低于预期

package.json中依赖的@vue/cli-plugin-e2e-cypress版本为~4.5.0,该版本默认绑定的Cypress内核为4.x,远低于cy.intercept要求的最低5.3.0版本。你提到的6.14.15大概率是全局安装的Cypress版本,而项目运行时会优先调用node_modules下的本地低版本依赖,因此触发方法不存在报错。

2. 链式调用上下文错误

报错出现在.then()代码段附近,大概率是代码中错误地将前序Cypress命令的返回值当作cy全局对象调用了intercept方法,比如写了类似如下错误代码:

cy.get('button').click().then(res => {
  res.intercept('POST', '/api/xxx') // 错误:res是前序命令返回结果,没有intercept方法
})

cy.intercept是顶层全局命令,只能通过全局cy对象调用,不需要挂载在其他命令的返回值上。


解决方案

  • 先验证项目本地实际使用的Cypress版本,在项目根目录执行命令:
    npx cypress -v
  • 如果本地版本确实低于5.3.0,执行以下命令将项目本地Cypress升级到指定版本:
    npm install cypress@6.14.15 --save-dev
  • 如果版本验证无误,排查测试代码中所有cy.intercept调用,确保都是直接调用全局cy对象,不要在.then()回调中通过其他对象调用该方法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 03:27:03