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

时间:2016-08-15 17:06:14

标签: java cucumber-jvm

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

  

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

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

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

当前的黄瓜似乎不可能。您所要求的是测试方案之间的依赖性,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。

相关问题