【问题标题】:Jenkins: Cucumber Test Runners execution orderJenkins:Cucumber Test Runners 执行顺序
【发布时间】:2026-01-13 02:30:02
【问题描述】:

在我的自动化项目中,我有两个测试运行器:

@RunWith(Cucumber.class)
@CucumberOptions(features = ".",
        plugin = {"json:target/json","rerun:rerun.txt","io.qameta.allure.cucumberjvm.AllureCucumberJvm"})
public class MainTest {
}





@RunWith(Cucumber.class)
@CucumberOptions(features = "@rerun.txt",
        plugin = {"json:target/json","rerun:rerun.txt","io.qameta.allure.cucumberjvm.AllureCucumberJvm"})
public class FailedScenarioRerunTest {
}

我想先运行 MainTest 和下一个 FailedScenarioTest,怎么做? 理论上测试应该按字母顺序运行,在本地机器上完全一样,但在 Jenkins 中顺序不是字母顺序。 有人必须处理这样的问题吗?

【问题讨论】:

  • 您希望以特定顺序运行它们的原因是什么?
  • 我运行所有测试,然后我想执行失败的场景
  • 好的,那么您的问题是如何在第一次运行后运行失败的测试?或者您是否需要它们在每次运行时按字母顺序运行?
  • 我有 20 多个测试运行器,如何按指定顺序运行它们

标签: java jenkins cucumber


【解决方案1】:

答案是:

<runOrder>alphabetical</runOrder>

在 pom.xml 中的surefire配置中

【讨论】: