@Before cucumber hook 确实接受场景作为参数

@Before cucumber hook does accept scenario as an argument

我正在尝试获取当前黄瓜场景的名称。

我正在使用 JUnit 4.10。当我在没有任何参数的情况下添加 @Before 时,该方法被成功调用。但是,如果我包含参数 Scenario,那么我会得到:

cucumber.runtime.CucumberException: Can't invoke stepDefinitions.beforeScenarios(Scenario)

import cucumber.annotation.Before;
import gherkin.formatter.model.Scenario;

public class stepDefinitions {
    public Scenario scenario = null;

    @Before
    public void beforeScenarios(Scenario scenario) {
        System.out.println("Method called");
    }
    ...

知道我做错了什么吗?

我的 pom.xml 更新为:

<dependency> 
  <groupId>org.seleniumhq.selenium</groupId> 
  <artifactId>selenium-java</artifactId> 
  <version>3.141.5</version> 
</dependency>
<dependency> 
  <groupId>io.cucumber</groupId>
  <artifactId>cucumber-java</artifactId>
  <version>4.3.1</version>
  <scope>test</scope>
</dependency>

<dependency>
  <groupId>io.cucumber</groupId>
  <artifactId>cucumber-junit</artifactId>
  <version>4.3.1</version>
  <scope>test</scope>
</dependency>

<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.12</version>
  <scope>test</scope>
</dependency>

下面是要导入的API

@Before - 导入 cucumber.api.java.Before;

场景 - 导入cucumber.api.Scenario;