Cucumber V4 [io.cucumber] 未识别 @Given/When/Then 并给出错误“无法解析导入 cucumber.api.java.en.When" [英] Cucumber V4 [io.cucumber] is not identifying @Given/When/Then and giving error "The import cucumber.api.java.en.When cannot be resolved"

查看:11
本文介绍了Cucumber V4 [io.cucumber] 未识别 @Given/When/Then 并给出错误“无法解析导入 cucumber.api.java.en.When"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在从 Cucumber 版本 1.2.4 [<groupId>info.cukes</groupId>] 迁移到 V.4.2.2 <groupId>io.cucumber</组ID>.在此之后,Cucumber 框架无法识别 @Given/When/Then 注释并给出错误 - 导入 cucumber.api.java.en.Given/When/Then无法解决

I am migrating from Cucumber Version 1.2.4 [<groupId>info.cukes</groupId>] to V.4.2.2 <groupId>io.cucumber</groupId>. After this, Cucumber Framework is not able to identify @Given/When/Then annotations and given error – The import cucumber.api.java.en.Given/When/Then cannot be resolved

Eclipse 建议添加以下依赖项.但我的想法是当我迁移到 Cucumber V4(io.cucumber) 时,为什么要添加 V1.2.4(info.cukes) 的依赖项.有人可以建议我将在 V4 i.cucumber 下添加哪个正确的依赖项.我将添加哪个导入来解决此问题.不加info.cukes -> cuucmber-java(1.2.4)

Eclipse suggesting to add below dependency. But my thought is when I am migrating to Cucumber V4(io.cucumber) then why shall I add dependency of V1.2.4(info.cukes). Can someone suggest which is the correct dependency I shall add under V4 i.cucumber. which import i shall add to fix this issue. Can it be resolved without adding info.cukes -> cuucmber-java(1.2.4)

    <dependency>
    <groupId>info.cukes</groupId>
    <artifactId>cucumber-java</artifactId>
    <version>1.2.4</version>
    </dependency>

下面是我在 POM.xml 下添加的依赖项列表.都是 io.cucumber 依赖.

Below is the list of dependencies I have added under POM.xml. All are io.cucumber dependencies.

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

请帮助我了解如何在 cucumber v4 下解决此错误.我不想使用 info.cukes maven id,因为它没有 V4.所以请指导

Please help me to understand how this error can be resolved under cucumber v4. I do not want to use info.cukes maven id as it does not have V4. So please guide

推荐答案

我已经解决了这个问题并分享了正确的依赖集.请根据您的框架要求添加 JUnit/TestNG.

I have resolved the issue and sharing correct set of dependency. Please add JUnit/TestNG based on your framework requirement.

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

<!-- https://mvnrepository.com/artifact/junit/junit -->
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
    <scope>test</scope>
</dependency>

     <!-- https://mvnrepository.com/artifact/io.cucumber/datatable -->
<dependency>
    <groupId>io.cucumber</groupId>
    <artifactId>datatable</artifactId>
    <version>1.1.12</version>
</dependency>

    <!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-testng -->
<dependency>
    <groupId>io.cucumber</groupId>
    <artifactId>cucumber-testng</artifactId>
    <version>4.2.3</version>
</dependency>

    <!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-picocontainer -->
<dependency>
    <groupId>io.cucumber</groupId>
    <artifactId>cucumber-picocontainer</artifactId>
    <version>4.2.3</version>
    <scope>test</scope>
</dependency>

这篇关于Cucumber V4 [io.cucumber] 未识别 @Given/When/Then 并给出错误“无法解析导入 cucumber.api.java.en.When"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆