我可以获取测试中使用的场景描述吗

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

在我的功能文件中,我有小黄瓜的场景和场景大纲。我想在他们定义的测试中获得这些描述。例如

Scenario: Create a customer

Scenario Outline: Create a customer that has <item> items (item fed by a table)

我想在它定义的测试中使用上面的描述,以便于了解哪个测试将哪个用户放入数据库中。有没有办法从测试中获取此描述?

A

java cucumber gherkin serenity-bdd
1个回答
1
投票

您可以使用钩子(参见https://www.baeldung.com/java-cucumber-hooks

@Before
public void beforeScenario(Scenario scenario) { 
    System.out.println("Before scenario " + scenario.getName());
}

如果您想在步骤之间共享此内容,并且您正在使用 cucumber-spring,则可能需要使用

cucumber-glue
范围。

public class MyContext {
   private Scenario scenario;

   // getter / setter
}

@Configuration
public class MyConfiguration {
   @Bean @Scope("cucumber-glue")
   public MyContext myContext() {
      return new MyContext();
   }
}

public class MySteps1 {
   @Autowired
   private MyContext myContext;

   @Before
   public void beforeScenario(Scenario scenario) { 
      myContext.setScenario(scenario);
   }
}

public class MySteps2 {
   @Autowired
   private MyContext myContext;

   @When("something happens")
   public void somethingHappens() { 
      System.out.println("About to do something for " + scenario.getName());
   }
}
© www.soinside.com 2019 - 2024. All rights reserved.