从info.cukes';无法解决cucumber.io的s到4.2.2的错误(或何时/之后)

从info.cukes';无法解决cucumber.io的s到4.2.2的错误(或何时/之后),cucumber,cucumber-junit,Cucumber,Cucumber Junit,作为更新的一部分,我不得不从info.cukes的cucumber java版本1.2.4迁移到io.cucumber的cucumber java版本4.2.2,但是在cucumber的旧版本中成功运行的代码开始抛出错误,这表示无法解析import cucucucumber.api.java.en.give(或When/Then) 下面是cucumber类,执行从这里开始 { @RunWith(Cucumber.class) @CucumberOptions(feat

作为更新的一部分,我不得不从info.cukes的cucumber java版本1.2.4迁移到io.cucumber的cucumber java版本4.2.2,但是在cucumber的旧版本中成功运行的代码开始抛出错误,这表示无法解析import cucucucumber.api.java.en.give(或When/Then)

下面是cucumber类,执行从这里开始

    {
     @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>





     }
{
@RunWith(cumber.class)
@CucumberOptions(features=“classpath:features/functional/”,
glue={“com.jacksparrow.automation.steps_definitions.functional”},
标记={“@guest\u search\u in\u progress”},
plugin={“pretty”,“json:target/cucumber-json/cucumber.json”,
“junit:target/cucumber报告/cumber.xml”,“html:target/cumber-
报告“},
严格=错误,
dryRun=false,
单色(真)
公共类函数{
}
黄瓜
黄瓜核
4.2.2
黄瓜
黄瓜爪哇
4.2.2
黄瓜
黄瓜刺柏
4.2.2
测试
黄瓜
黄瓜汁
1.0.6
假如
黄瓜
小黄瓜
6.0.14
org.mockito
莫基托所有
1.10.19
测试
黄瓜
黄瓜试验
2.0.0
黄瓜
黄瓜皮容器
2.1.0
测试
}

请建议我应该如何解决这个问题首先,删除cucumber jvm deps和gherkin依赖项,因为它们可能会干扰cucumber 4.2.2中的可传递依赖项。 其次,如果您想将Cucumber与JUnit一起使用,还需要导入JUnit(v4.12;因为Cucumber还不支持v5)。您需要删除
cucumber-testng
依赖项(反之亦然,如果您想使用testng,请删除
cucumber-junit
,您可能需要一个testng依赖项)。
最后,如果导入语句的位置在新版本中发生了更改,您可能需要更新它们。

请在POM中使用以下依赖项,并根据您的框架要求添加JUnit/TestNG依赖项。(只需将v.4.2.3更改为v.4.2.2)


黄瓜
黄瓜爪哇
4.2.3
黄瓜
黄瓜刺柏
4.2.3
测试
朱尼特
朱尼特
4.12
测试
黄瓜
数据表
1.1.12
黄瓜
黄瓜试验
4.2.3
黄瓜
黄瓜皮容器
4.2.3
测试

问题是因为使用了错误的cucumber依赖项集。下面是迁移到4.0.0时应使用的Cucumber依赖项的正确集合,请注意- 1.所有文件应为同一版本。
2.根据您的框架要求使用JUnit或TestNG。

Duplicate of:也不要忘记对所有
cucumber-
依赖项使用相同的版本。这是可行的,但您还需要删除所有导入,然后导入新的io.cucumber库。
<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>