eclipse - @Before 黄瓜钩子确实接受场景作为参数
问题描述
我正在尝试获取当前黄瓜场景的名称。
我正在使用 JUnit 4.10。当我添加@Before
不带任何参数的方法时,该方法被成功调用。但是,如果我包含参数场景,那么我会得到:
cucumber.runtime.CucumberException:无法调用 stepDefinitions.beforeScenarios(场景)
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;
推荐阅读
- python - Python jupyter库导入错误
- python - 编辑表单中另一个模型的 Django Admin 过滤器
- python - 按值将文件中的数字附加到列表中
- java - 在 Apahce commons VFS 中连接不同的域
- javascript - Is express() function used in expressJS, a global function?
- javascript - 奇怪的javascript数组推送行为
- java - Karaf 在 feature:repo-add 上省略了本地 maven 存储库
- ruby - Appium 驱动操作系统名称
- mysql - 有外键时插入一行
- javascript - 有两个全宽 HTML 元素重叠但都是交互的