当前位置: 首页 > 知识库问答 >
问题:

eclipse中Cucumber设置的问题

何楷
2023-03-14
Exception in thread "main" java.lang.NoClassDefFoundError: io/cucumber/datatable/dependency/com/fasterxml/jackson/databind/JavaType
    at io.cucumber.datatable.DataTableType.<init>(DataTableType.java:78)
    at io.cucumber.datatable.DataTableTypeRegistry.<init>(DataTableTypeRegistry.java:23)
    at io.cucumber.stepexpression.TypeRegistry.<init>(TypeRegistry.java:19)
    at cucumber.runtime.Runtime.loadBackends(Runtime.java:87)
    at cucumber.runtime.Runtime.<init>(Runtime.java:42)
    at cucumber.api.cli.Main.run(Main.java:34)
    at cucumber.api.cli.Main.main(Main.java:18)
Caused by: java.lang.ClassNotFoundException: io.cucumber.datatable.dependency.com.fasterxml.jackson.databind.JavaType
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 7 more
<dependencies>
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>cucumber-java</artifactId>
            <version>1.2.5</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>cucumber-jvm</artifactId>
            <version>1.2.5</version>
            <type>pom</type>
        </dependency>
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>cucumber-junit</artifactId>
            <version>1.2.5</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>net.sourceforge.cobertura</groupId>
            <artifactId>cobertura</artifactId>
            <version>2.1.1</version>
        </dependency>
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>cucumber-jvm-deps</artifactId>
            <version>1.0.5</version>
        </dependency>
        <dependency>
            <groupId>net.masterthought</groupId>
            <artifactId>cucumber-reporting</artifactId>
            <version>1.0.0</version>
        </dependency>
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>gherkin</artifactId>
            <version>2.12.2</version>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-all</artifactId>
            <version>2.0.2-beta</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

共有1个答案

奚晟
2023-03-14

要在JUnit中使用Cucumber,您只需要以下依赖项,您可以在Cucumber文档中找到:

<dependency>
    <groupId>io.cucumber</groupId>
    <artifactId>cucumber-java8</artifactId>
    <version>3.0.2</version>
    <scope>test</scope>
</dependency>

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

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

注:

>

  • 确保对所有Cucumber依赖项使用相同的Cucumber版本;否则,你可能会有一些不可预测的行为。

  •  类似资料:
    • 我想使用eclipse IDE使用cucumber和selenium,但我需要帮助,我如何设置maven项目,以及在pom.xml文件中应该添加哪些依赖项,请提供步骤。

    • 我正在使用Cucumber插件在Eclipse中运行特性文件。我正在尝试使用标记来选择要运行的方案。 在我的特性文件中,我使用如下所示的不同标记标记了两个场景:

    • 我有两个JDK,分别用于Java6和7。 如何将这些选项添加到IDE中?我从未安装过Java1.5。假设我想要Java1.4。我如何让它出现在列表中?我在IDE首选项中添加了两个不同的JRE,但这些并不是下拉列表中显示的内容。

    • 问题内容: 我有两个JDK,分别用于Java 6和7。 我想同时使用这两个项目。最初,我们仅针对1.6构建。我在项目设置中看到可以选择1.5、1.6 1.7作为编译器级别。 这些选项如何添加到IDE中?我从未安装过Java 1.5。假设我想要Java 1.4。我如何将其显示在列表中?我在我的IDE首选项中添加了两个不同的JRE,但是下拉菜单中没有这些。 问题答案: 你可以在中管理可用的编译器列表。

    • 我正在尝试在Eclipse中设置Tomcat。我已经按照本教程了解如何安装Tomcat,我甚至能够在localhost:8080上看到默认的Tomcat页面。 我现在需要的是在Eclipse上设置Tomcat。 我做以下事情: 作为Tomcat的安装目录,我输入,如上文中链接的教程所述: 我们将把Tomcat安装到/opt/Tomcat目录。创建目录,然后将存档文件提取到其中〔…〕 但是我得到以下