无法在黄瓜jvm中执行功能

问题描述 投票:2回答:4

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

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

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

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

我应该提供其他信息吗?

任何帮助,将不胜感激

java cucumber language-features gherkin
4个回答
4
投票

通过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/

0
投票

确保CLASSPATH中有黄瓜java库。


0
投票

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


0
投票

而不是下载单个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依赖项使用相同的版本。

© www.soinside.com 2019 - 2024. All rights reserved.