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

如何单线程运行所有Karate Feature文件 能否自定义Karate线程数

Karate全链路单线程执行解决方案

要实现「所有Feature文件顺序执行 + 单个Feature内所有Scenario顺序执行」的全单线程效果,需要同时调整执行层并行配置与Scenario级并行规则,具体操作如下:

  • 第一步:将执行入口的并行线程数设为1
    该配置会强制所有Feature文件按发现顺序串行执行,你可以根据自己的触发方式选择对应配置:
    如果你用JUnit 5触发执行,代码示例如下:
    import com.intuit.karate.junit5.Karate;
    
    class KarateTestSuite {
        @Karate.Test
        Karate runAllFeatures() {
            return Karate.run()
                .relativeTo(getClass())
                .threads(1); // 核心配置:Feature级并行线程数设为1
        }
    }
    
    如果你用Maven命令行触发执行,直接加运行参数即可:
    mvn test -Dkarate.threads=1
    
    Gradle命令行触发同理:
    gradle test -Dkarate.threads=1
    
  • 第二步:配置Scenario级串行规则
    线程数设为1仅能保证Feature之间串行,要实现单个Feature内部Scenario也按顺序执行,可以二选一配置:
    1. 针对需要串行的单个Feature,在文件头部加@parallel=false标签即可
    2. 如果所有Feature都需要Scenario串行,直接在执行配置中新增全局参数karate.parallel.scenarios=false,不需要再逐个给Feature加标签

注意:以上两项配置同时生效时,即可实现你需要的全链路单线程执行效果,不需要额外修改其他配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 07:06:04