使用不同的之前步骤多次运行单个黄瓜测试

时间:2019-03-07 13:20:51

标签: cucumber cucumber-junit

我有三个不同的功能文件,它们包含不同的测试方案:configA.feature,configB.feature,common.feature。 在步骤文件中,我在钩子之前有两个标记,每个配置(A / B)一个:

  @Before("@ConfigA")
  public void configA() {
    //some settings
  }

  @Before("@ConfigB")
  public void configB() {
    //some settings
  }

这两个配置是互斥的,因此对于任何特定的方案执行,只应执行一个,因为第二个配置将覆盖第一个配置所做的设置。

我想要实现的是能够运行以下方案:

  • 已执行ConfigA钩子的configA.feature
  • 已执行ConfigB钩子的configB.feature
  • 执行了ConfigA钩子的common.feature
  • 带有ConfigB钩子的common.feature

我尝试将特征文件中的特征注释为:

configA with @ConfigA
configB with @ConfigB
common with both @ConfigA @ConfigB

但这会导致common.feature始终与两个before钩子同时执行。

当我使用带有CucumberRunner的JUnit包装器时,我还尝试使用指定的@ CucumberOptions.tags创建单独的测试类,但这对我也不起作用。

是我想做的事,甚至可以用黄瓜做?如果是这样,那我该如何实现呢?

0 个答案:

没有答案