特征文件中的空手道强制场景在多个线程上顺序执行

Karate force scenarios inside a feature file to execute sequentially on multiple threads

当运行通过bamboo/maven使用“clean test”命令运行我所有的特征文件时,我如何强制每个特征文件中的场景到运行命令?在多个线程上。 例如,如果我有 100 个特征文件,每个特征文件中有 20 个场景,当我 运行 它们以 5 个线程运行时,特征文件的顺序无关紧要,特征 10 可以 运行在功能 15 之前,但每个功能中的场景必须按顺序 运行。 我需要 运行 展示 10 个场景 1,然后展示 10 个场景 2,依此类推。

所以有 5 个线程:

线程 1 可以 运行 功能 1

线程 2 可以 运行 功能 10

线程 3 可以 运行 功能 3

线程 4 可以 运行 功能 2

线程 5 可以 运行 功能 4

但我需要场景 1 到 20 的每个场景按顺序执行。

所以有 5 个线程:

线程 1 功能 1 场景 1,然后是场景 2,然后是场景 3,ext.

线程 2 功能 10 场景 1,然后是场景 2,然后是场景 3,ext.

线程 3 功能 3 场景 1,然后是场景 2,然后是场景 3,ext.

线程 4 功能 2 场景 1,然后是场景 2,然后是场景 3,ext.

线程 5 功能 4 场景 1,然后是场景 2,然后是场景 3,ext.

@parallel=false 是答案吗?我真的需要将它添加到每个功能文件的顶部吗?就像我说的,我的存储库中可以有 100 个功能文件,也许更多。 或者我必须在命令行上添加 @parallel=false 吗?如果是这样,是否会像其他选项“-Dparallel=false”一样?

如果你的 Scenario-s 被写成它们相互依赖,这是一个不好的做法。请仔细阅读:

所以是的,空手道不支持“全局”开关来启用您描述的行为。原因之一是阻止不良做法。

您必须为所有功能添加 @parallel=false。即使这样在 1.0 版本中也可能达不到你想要的效果,因为一些行为变化:https://github.com/intuit/karate/wiki/1.0-upgrade-guide