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

为什么Cypress没有使用我配置的stub接口路由?

常见遗漏配置和解决方法

  • 缺失cy.server()依赖
    cy.route必须配合前置的cy.server()调用才能生效,确保你在定义该stub之前已经执行了cy.server()开启路由拦截能力。
  • 路由匹配规则不匹配实际请求
    你当前的规则严格匹配了query参数仅存在website的情况,如果实际请求携带了额外的query参数,会直接匹配失败。可以将匹配规则放宽为**/api/v2/equipment/brand**适配所有带query的请求,或者使用函数匹配精准校验参数。
  • 执行顺序错误
    stub定义必须早于触发对应请求的操作执行,如果先触发页面请求再定义拦截规则,请求已经发出就不会被stub捕获。
  • 版本兼容问题
    如果你使用的是Cypress v10及以上版本,cy.route已经被废弃,推荐替换为官方推荐的cy.intercept API,无需额外开启server,写法参考:
cy.intercept("GET", "**/api/v2/equipment/brand", (req) => {
  // 仅拦截携带website参数的请求
  if (req.query.website) {
    req.reply({
      count: 0,
      next: null,
      previous: null,
      results: []
    })
  }
}).as("findBrandsByWebsite")

你可以对照Cypress控制台的请求日志,对比实际请求的完整路径和参数,确认匹配规则是否正确,错误信息参考:
错误截图

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 06:54:02