Karate 在功能文件中的空手道力量场景,以便在多个线程上顺序执行

Karate 在功能文件中的空手道力量场景,以便在多个线程上顺序执行,karate,Karate,当通过bambol/maven使用“clean test”命令运行所有功能文件时,如何强制每个功能文件中的场景按顺序运行?在多个线程上。 例如,如果我有100个功能文件,每个功能文件中有20个场景,当我用5个线程运行它们时,功能文件的顺序无关紧要,功能10可以在功能15之前运行,但每个功能内部的场景必须按顺序运行。 我需要运行Feature10Scenario1,然后运行Feature10Scenario2,依此类推 因此,使用5个线程: 线程1可以运行功能1 线程2可以运行功能10 线程3可以

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

因此,使用5个线程:

线程1可以运行功能1

线程2可以运行功能10

线程3可以运行功能3

线程4可以运行功能2

线程5可以运行功能4

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

因此,使用5个线程:

线程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”

如果您的
场景的编写使它们相互依赖,这是一种糟糕的做法。请仔细阅读:非常仔细

是的,空手道不支持“全局”开关来启用您描述的行为。其中一个原因是阻止不良行为


您必须为所有功能添加
@parallel=false
。即使这样,在1.0版本中也可能没有您想要的效果,因为有些行为改变:

谢谢@Peter Thomas。这些场景不一定相互依赖,因为我知道这是一种不好的做法,但我看到在运行多个线程时出现错误,而在单个线程上没有错误。这就是为什么我想强制每个功能文件按顺序运行场景。如果我将@parallel=false添加到所有功能文件中,是否必须向运行这些功能文件的命令中添加任何内容?@CoreySnow不需要。根据经验,如果你把这些神秘的问题保持原状,只会延长你的头痛时间。还请注意,如果调用java代码,一个常见的错误是,如果该代码不是线程安全的,则可能会出现这些“错误”。除了投入时间和理解为什么您的测试不是线程安全的之外,我没有其他建议。这不太可能是空手道的问题,因为它在野外经过了相当好的测试