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

Cypress全局Retries配置不生效问题求助

问题分析与解决方案

核心问题出在fail-fast插件的默认行为和Cypress重试逻辑的优先级冲突,和run模式下的HTML报告无关——报告只是结果输出,不会干预测试执行流程。

具体原因

cypress-fail-fast插件默认在run模式下,只要测试第一次失败就立即触发终止逻辑,跳过后续所有测试,这直接绕过了Cypress的重试机制。而open模式下插件的触发逻辑不同,所以重试能正常执行。

解决步骤

修改cypress-fail-fast的配置,让它等待当前测试的所有重试完成后,再判断是否终止测试套件:

  1. 在cypress.config.ts中调整插件的runMode配置:
import { defineConfig } from 'cypress';
import failFast from 'cypress-fail-fast/plugin';

export default defineConfig({
  retries: {
    runMode: 2, // 你的全局重试配置
    openMode: 2,
  },
  e2e: {
    setupNodeEvents(on, config) {
      // 配置fail-fast,让它在重试全部失败后再触发终止
      failFast(on, config, {
        runMode: {
          failOnFirstFailure: false,
        },
      });
      return config;
    },
  },
});
  1. 验证效果:重新以run模式运行测试,当测试失败时会先执行完配置的2次重试,只有当所有重试都失败后,fail-fast才会触发并跳过后续测试。

额外提示

如果使用的是其他fail-fast插件,核心思路一致:找到插件中控制"失败后立即终止"的配置项,将其调整为"所有重试完成后再终止"即可。

内容的提问来源于stack exchange,提问作者Gabriel García Garrido

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 19:20:03