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

配置Cucumber场景失败率阈值后Jenkins构建异常,求排查

问题分析与解决方案

可能的两个配置问题

1. 场景失败率的实际计算是否触发阈值

你配置的failedScenariosPercentage:10是指失败场景占总场景的比例超过10%时,构建标记为失败。如果你的总场景数量较少(比如9个场景),1个失败场景的占比是11.1%,已经超过10%阈值,这种情况下构建失败是符合配置逻辑的。你可以先统计总场景数和失败场景数,确认实际失败率是否真的超出了10%。

2. 未禁用失败步骤的百分比检查

控制台日志里的Found 0.496278 failed steps, while expected not more than 0.000000 present,说明Cucumber插件默认在检查失败步骤的百分比,而你没有配置这个参数,它的默认值是0(即不允许任何步骤失败)。虽然这条日志显示"Build status left unchanged",但这个默认检查可能和场景失败率的检查相互影响,导致不符合预期的构建状态。

修正后的Pipeline配置

需要显式添加failedStepsPercentage: -1禁用失败步骤的百分比检查,同时可以按需禁用其他不必要的百分比检查:

post {
    always {
        cucumber failedFeaturesNumber: -1,
                failedScenariosNumber: -1,
                skippedStepsNumber: -1,
                failedStepsNumber: -1,
                pendingStepsNumber: -1,
                undefinedStepsNumber: -1,
                fileIncludePattern: '**/*cucumber-report.json',
                sortingMethod: 'ALPHABETICAL',
                failedScenariosPercentage: 10,
                failedStepsPercentage: -1, // 禁用失败步骤百分比检查
                failedFeaturesPercentage: -1 // 可选:禁用失败特性百分比检查
    }
}

验证逻辑

修正后,构建状态只会由场景失败率控制:

  • 失败场景占比 ≤10%(即通过率≥90%):构建标记为成功
  • 失败场景占比 >10%:构建标记为失败
  • 所有基于数量的失败检查、以及失败步骤/特性的百分比检查都已禁用,不会干扰场景失败率的判断

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 09:52:52