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

如何通过Maven命令行或其他方式在Karate执行时排除指定文件夹?

在Karate项目中排除特定文件夹下的Feature文件运行

方法1:通过Maven命令行动态指定排除规则

Karate支持通过karate.options参数灵活过滤运行范围,你可以用通配符先指定扫描根目录,再排除目标文件夹。比如要排除feature/ignore-me和feature/skip-this两个文件夹,执行以下命令:

mvn test -Dkarate.options="--paths classpath:feature/ --exclude classpath:feature/ignore-me/**,classpath:feature/skip-this/**"
  • --paths classpath:feature/:指定要扫描的根feature目录
  • --exclude:后面紧跟需要排除的路径,多个路径用逗号分隔,**表示匹配该文件夹下所有层级的文件和子目录
  • 如果不需要额外的标签过滤,直接用上述路径过滤即可

方法2:在pom.xml中配置固定排除规则

如果不想每次执行命令都手动输入排除参数,可以在maven-surefire-plugin里配置默认规则,这样直接运行mvn test就会自动排除指定文件夹:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>3.0.0</version>
    <configuration>
        <systemPropertyVariables>
            <karate.options>--paths classpath:feature/ --exclude classpath:feature/ignore-me/**,classpath:feature/skip-this/**</karate.options>
        </systemPropertyVariables>
    </configuration>
</plugin>

临时需要取消排除时,只需在命令行传入空的karate.options覆盖配置:

mvn test -Dkarate.options=

方法3:利用标签机制间接排除(备选方案)

如果能给目标文件夹内的所有feature文件统一添加标签(比如@exclude),也可以通过标签过滤来排除这些用例:

mvn test -Dkarate.options="--tags ~@exclude"

这种方式适合需要频繁切换是否排除的场景,但需要提前给要排除的feature文件加上对应标签。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 18:42:15