cucumber - 将 cucumber-java 从 info.cukes 的 1.2.4 更新到 cucumber.io 的 4.2.2 throwing import Given(Or When/Then) cannot be resolved 错误
问题描述
作为更新的一部分,我不得不从 info.cukes 的 1.2.4 版本的 cucumber-java 迁移到 io.cucumber 的 4.2.2 版本的 cucumber-java,但是使用旧版本的 cucumber 成功运行的代码开始抛出错误,说 The import cucumber.api.java.en.Given(Or When/Then) 无法解决
下面是开始执行的黄瓜类
{
@RunWith(Cucumber.class)
@CucumberOptions(features = "classpath:features/functional/",
glue = {"com.jacksparrow.automation.steps_definitions.functional" },
tags = { "@guest_search_in_progress" },
plugin = { "pretty","json:target/cucumber-json/cucumber.json",
"junit:target/cucumber-reports/Cucumber.xml", "html:target/cucumber-
reports"},
strict = false,
dryRun = false,
monochrome = true)
public class FunctionalRunCuke {
}
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-core</artifactId>
<version>4.2.2</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-java</artifactId>
<version>4.2.2</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit</artifactId>
<version>4.2.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-jvm-deps</artifactId>
<version>1.0.6</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>gherkin</artifactId>
<version>6.0.14</version>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>1.10.19</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-testng</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-picocontainer</artifactId>
<version>2.1.0</version>
<scope>test</scope>
</dependency>
}
请建议我应该怎么做才能解决这个问题
解决方案
请在 POM 中使用以下依赖项并根据您的框架要求添加 JUnit/TestNG 依赖项。(只需将 v. 4.2.3 更改为 V.4.2.2)
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-java</artifactId>
<version>4.2.3</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit</artifactId>
<version>4.2.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>datatable</artifactId>
<version>1.1.12</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-testng</artifactId>
<version>4.2.3</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-picocontainer</artifactId>
<version>4.2.3</version>
<scope>test</scope>
</dependency>
推荐阅读
- c++ - 复数加法和使用复制构造函数
- machine-learning - 机器学习中的“适合”是什么?
- c# - 在 ASP.NET Core 3.1 MVC 中将模型传递到控制器操作时出现 415 状态
- python - File.write 不允许我添加到文本文件?
- java - 使用 Gradle 隐藏 API 密钥
- android - Kotlin Volley 请求作为全局变量
- css - 使用边框图像的 CSS 正文边框
- node.js - docker内部的Nodejs语法错误但不在外部
- json - 如何在 VS Code 自定义片段 JSON 文件中包含带有 // 的 https 链接?
- java - 从 Google Drive 的深层嵌套目录中读取文件