无法在黄瓜jvm中执行功能

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法在黄瓜jvm中执行功能相关的知识,希望对你有一定的参考价值。

我很喜欢使用黄瓜(今天开始)。

这看起来很简单,但我遇到了运行基本功能的问题。

Feature: Proof of concept that my framework works

Scenario: My first test

Given this is my first step
When this is my second step
Then this is my final step

我知道没有代码可供测试,但我希望它能够返回场景未定义的事实。

我做了一些研究,并意识到我有一个不必要的.jar文件,我已经删除了。

我还有以下问题:

Exception in thread "main" java.lang.NoClassDefFoundError: gherkin/lexer/Encoding

Caused by: java.lang.ClassNotFoundException: gherkin.lexer.Encoding

还有一些来自异常的信息。

我应该提供其他信息吗?

任何帮助,将不胜感激

答案

通过The Cucumber for Java书中的第一步章节,我遇到了同样的问题。

它说下载最新版的小黄瓜罐子(以及其他)

http://repo1.maven.org/maven2/info/cukes/gherkin/

下面是列表,其中,在网页上,每个都是包含jar的目录链接。我的错误是认为最底层版本是最新版本。不是。对于所有其他罐子,最底层的确是最新版本。

当使用最底部的Gherkin jar时,我完全按照你的描述获得CNFX:

Exception in thread "main" java.lang.NoClassDefFoundError: gherkin/lexer/Encoding
Caused by: java.lang.ClassNotFoundException: gherkin.lexer.Encoding

版本号列表,如上面的网页:

2.10.0/
2.11.0/
2.11.1/
2.11.2/
2.11.4/
2.11.5/
2.11.6/
2.11.7/
2.11.8/
2.12.0/
2.12.1/
2.12.2/
2.4.16/
2.4.17/
2.4.18/
2.4.19/
2.4.20/
2.4.21/
2.5.0/
2.5.1/
2.5.2/
2.5.3/
2.5.4/
2.6.0/
2.6.1/
2.6.2/
2.6.3/
2.6.4/
2.6.5/
2.6.6/
2.6.7/
2.6.8/
2.6.9/
2.7.0/
2.7.1/
2.7.2/
2.7.3/
2.7.4/
2.7.5/
2.7.6/
2.7.7/
2.8.0/
2.9.0/
2.9.1/
2.9.2/
2.9.3/
另一答案

确保CLASSPATH中有黄瓜java库。

另一答案

这是一个设置问题,因为它没有找到解释小黄瓜语句所需的黄瓜类。提供有关您在设置中包含的文件的更多信息。

另一答案

而不是下载单个jar,使用包管理器下载依赖项。

使用Maven,将以下依赖项添加到pom.xml:

<dependency>
    <groupId>io.cucumber</groupId>
    <artifactId>cucumber-java</artifactId>
    <version>2.3.1</version>
    <scope>test</scope>
</dependency>

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

NB。这是目前的最新版本。

确保对所有Cucumber依赖项使用相同的版本。

以上是关于无法在黄瓜jvm中执行功能的主要内容,如果未能解决你的问题,请参考以下文章

黄瓜特征文件不识别步骤

黄瓜类无法解决

在黄瓜 jvm 中,如何正确地将步骤拆分为多个文件?

无法实例化测试步骤类

执行多个黄瓜特征文件

如何在VScode中调试Webdriverio黄瓜框架