Не удается выполнить функцию в 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

Там еще немного информации об исключении.

Есть ли другая информация, которую я должен предоставить?

Любая помощь будет оценена


person dhali    schedule 11.09.2014    source источник


Ответы (4)


У меня была такая же проблема при прохождении главы «Первые шаги» в The Cucumber for Java. книга.

В нем говорится, что нужно загрузить последнюю версию банки-огурца (среди прочего) с

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

Ниже приведен список, где на веб-странице каждый из них представляет собой ссылку на каталог, содержащую банку. Моя ошибка заключалась в том, что я думал, что самая нижняя версия является самой последней версией. Это не. Для всех других банок самая нижняя действительно является самой последней версией.

При использовании самой нижней банки с огурцами я получаю 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/
person aliteralmind    schedule 08.05.2015

Убедитесь, что у вас есть библиотеки Java для огурцов в вашем CLASSPATH.

person romulusnr    schedule 30.09.2014

Это проблема установки, поскольку она не находит необходимые классы огурцов для интерпретации утверждений огурцов. Предоставьте дополнительную информацию о файлах, которые вы включили в установку.

person Vishal Aggarwal    schedule 30.09.2014

Вместо загрузки отдельных 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.

person Marit    schedule 30.12.2017