我们可以在运行时自定义黄瓜测试套件吗?

问题描述 投票:1回答:2

我有一个黄瓜测试运行器类,我在其中编写我的测试套件,如下所示

@CucumberOptions(features = {“Feature_Files / featues”},glue = {“com.automation.stepdef”},monochrome = true,dryRun = false,plugin = {“html:target / cucumber-html-report”},标签= {“@ Startup”})

如果我希望在成功完成@startup功能后自定义此标记选项,是否可以?

java cucumber-jvm
2个回答
0
投票

运行两个或多个依赖测试套件的最常用方法是为CI中的两个或多个作业创建触发器。这可以通过here描述的各种插件来完成。

否则,如果这是一些测试准备操作,您可以使用@Before或实际的JUnit @BeforeClass注释。


0
投票

目前的Cucumber似乎无法实现。您要求的是测试场景之间的依赖关系,IMO是一个非常好的功能。例如,我们有一些登录功能和一些其他功能。它没有任何意义,如果登录功能在第一时间不起作用,实际上是浪费时间来运行其他功能。更糟糕的是,您会在测试报告中看到很多失败,您无法轻易找到导致非工作登录功能的根本原因。

TestNG支持“dependsOnMethod”功能。但是,TestNG不是BDD工具。

QAF https://qmetry.github.io/qaf/qaf-2.1.7b/scenario.html#meta-data支持这作为BDD工具。但是,为这样一个简单的功能引入新工具会太沉重。

我们需要的只是Cucumber语法和自定义测试运行器的一些补充,以根据依赖关系构建场景执行顺序,并且如果它们所依赖的功能失败则跳过这些功能。

我很想看看是否有人可以付出一些努力:)

顺便说一句,CI可以解决这个问题,但它又太沉重和笨拙。想象一下,您在测试场景中有多个依赖关系,那么您需要多少个CI管道?此外,您无法使用CI在本地开发环境中解决此问题,因为您不会在本地设置CI。

© www.soinside.com 2019 - 2024. All rights reserved.