
Для интеграции Cucumber с Java в IntelliJ IDEA требуется последовательная настройка среды: установка необходимых плагинов, настройка Maven/Gradle и корректная структура проекта. Без этого запуск фичей и шагов невозможен.
Убедитесь, что установлена последняя версия IntelliJ IDEA (Community или Ultimate). Далее перейдите в Settings → Plugins и установите плагин Cucumber for Java. Без него редактор не распознает Gherkin-сценарии и не позволит создавать шаги из фичей.
Создайте Maven-проект с установленной JDK 11 или выше. В файл pom.xml добавьте зависимости:
<dependency> <groupId>io.cucumber</groupId> <artifactId>cucumber-java</artifactId> <version>7.16.1</version> </dependency> <dependency> <groupId>io.cucumber</groupId> <artifactId>cucumber-junit</artifactId> <version>7.16.1</version> <scope>test</scope> </dependency>
Создайте директорию src/test/resources и добавьте туда файл с расширением .feature. IntelliJ автоматически предложит создать step definitions при навигации по ключевым словам сценария. Шаги должны располагаться в пакете src/test/java.
Для запуска тестов используйте JUnit. Убедитесь, что аннотированный класс запуска содержит @RunWith(Cucumber.class) и @CucumberOptions с корректным путём к фичам и glue-классам.
Настройка проекта Maven или Gradle для работы с Cucumber

Maven: открой файл pom.xml и добавь зависимости для Cucumber и JUnit. Используй актуальные версии из https://mvnrepository.com:
<dependencies>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-java</artifactId>
<version>7.14.0</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit</artifactId>
<version>7.14.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
</dependencies>
Для использования плагина Surefire, необходимого для запуска тестов, добавь в <build>:
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M9</version>
<configuration>
<includes>
<include>**/RunCucumberTest.java</include>
</includes>
</configuration>
</plugin>
</plugins>
Gradle: в build.gradle добавь Cucumber и JUnit в секцию зависимостей:
dependencies {
testImplementation 'io.cucumber:cucumber-java:7.14.0'
testImplementation 'io.cucumber:cucumber-junit:7.14.0'
testImplementation 'junit:junit:4.13.2'
}
Для корректного запуска тестов укажи в секции test использование JUnit:
test {
useJUnit()
}
После добавления зависимостей обнови проект: в Maven – Reload Project из панели Maven, в Gradle – Refresh Gradle Project.
Структура каталогов: создавай .feature-файлы в src/test/resources, классы-реализации шагов и раннер в src/test/java.
Добавление зависимостей Cucumber в файл pom.xml или build.gradle
Для Maven-проекта откройте файл pom.xml и добавьте следующие зависимости внутри тега <dependencies>:
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-java</artifactId>
<version>7.15.0</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit</artifactId>
<version>7.15.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
<version>5.10.2</version>
<scope>test</scope>
</dependency>
Если используется Gradle, откройте build.gradle и добавьте следующие строки в секцию dependencies:
testImplementation 'io.cucumber:cucumber-java:7.15.0'
testImplementation 'io.cucumber:cucumber-junit:7.15.0'
testImplementation 'org.junit.vintage:junit-vintage-engine:5.10.2'
Убедитесь, что в build.gradle указано использование JUnit Platform:
test {
useJUnitPlatform()
}
После внесения изменений выполните обновление проекта: в Maven – через кнопку Reload Project в панели Maven, в Gradle – через Refresh Gradle Project в панели Gradle. Это гарантирует загрузку и применение всех зависимостей.
Установка необходимых плагинов IntelliJ IDEA для поддержки Cucumber
Для корректной работы с Cucumber в IntelliJ IDEA требуется установить два ключевых плагина: Cucumber for Java и Gherkin. Без них редактор не будет распознавать шаги, автодополнение не сработает, а .feature-файлы останутся без подсветки синтаксиса.
Открой IntelliJ IDEA и перейди в File → Settings → Plugins (для macOS – IntelliJ IDEA → Preferences → Plugins). В строке поиска введи Cucumber for Java. Убедись, что устанавливаешь именно этот плагин, а не Cucumber.js или альтернативы для других языков. Нажми Install, затем перезапусти среду.
После этого найди плагин Gherkin через тот же поиск. Установи его и снова перезапусти IntelliJ IDEA. Без плагина Gherkin IntelliJ не будет распознавать .feature-файлы и не обеспечит подсветку ключевых слов (Given, When, Then).
Проверь установку, создав файл с расширением .feature – если подсветка и автодополнение работают, значит плагины активированы корректно.
Создание feature-файла и настройка структуры проекта

В корне проекта создайте папку src/test/resources, если она отсутствует. Внутри неё создайте подпапку features для хранения feature-файлов. Это путь, который Cucumber будет использовать по умолчанию.
Щёлкните правой кнопкой мыши по папке features и выберите New → File. Задайте имя файла с расширением .feature, например login.feature. IntelliJ IDEA предложит установить плагин Gherkin, если он не установлен. Установите его для подсветки синтаксиса и автодополнения.
Внутри файла опишите сценарии на языке Gherkin. Например:
Feature: Авторизация пользователя Scenario: Успешный вход с корректными данными Given пользователь находится на странице входа When он вводит корректные логин и пароль Then он попадает на главную страницу
В src/test/java создайте пакет, например steps, и добавьте туда Java-классы с аннотациями @Given, @When, @Then из пакета io.cucumber.java.ru. Убедитесь, что файлы step definitions соответствуют сценарию в feature-файле.
Создайте в src/test/java класс запуска с аннотацией @CucumberOptions, указывающей путь к feature-файлам и пакету с шагами:
@CucumberOptions(
features = "src/test/resources/features",
glue = "steps",
plugin = {"pretty"}
)
public class RunCucumberTest {
}
Для корректного запуска тестов убедитесь, что в проекте подключены зависимости Cucumber JUnit и Gherkin, а структура папок соответствует Maven- или Gradle-стандартам.
Настройка конфигурации запуска тестов Cucumber в IntelliJ IDEA
Откройте IntelliJ IDEA и перейдите в меню «Run» → «Edit Configurations». Нажмите «+» и выберите пункт «JUnit» – Cucumber для Java работает через JUnit Runner.
В поле «Name» укажите понятное имя конфигурации, например, «Cucumber Tests».
В разделе «Test kind» выберите «All in package» и укажите пакет, содержащий ваш класс-раннер с аннотацией @RunWith(Cucumber.class).
В разделе «Working directory» установите путь к корню проекта – это важно для корректной загрузки feature-файлов и ресурсов.
Убедитесь, что в поле «Use classpath of module» выбран модуль, где находятся зависимости Cucumber и JUnit.
Нажмите «Apply» и «OK». Запуск тестов теперь доступен напрямую из выбранной конфигурации через зелёную кнопку запуска или клавишу Shift + F10.
Решение типовых ошибок при интеграции Cucumber с IntelliJ IDEA
При интеграции Cucumber с IntelliJ IDEA могут возникать различные ошибки, которые мешают корректной работе фреймворка. Рассмотрим типичные проблемы и способы их решения.
- Ошибка: «Step definition not found»
- Ошибка: «Cucumber: Feature file not found»
- Ошибка: «Could not load the Cucumber runtime»
- Ошибка: «No such file or directory for feature file»
- Ошибка: «Step definition method is not recognized»
- Ошибка: «Cucumber plugin is not installed»
- Ошибка: «Feature file extension is not recognized»
Эта ошибка возникает, когда шаги в Gherkin-файле не сопоставляются с определениями шагов в Java-коде. Проверьте, что ваши файлы с определениями шагов находятся в правильном пакете и что в них правильно указаны аннотации @Given, @When, @Then.
Ошибка появляется, когда Cucumber не может найти файл .feature. Убедитесь, что путь к этому файлу указан правильно, а также что в настройках конфигурации теста в IntelliJ IDEA указан корректный путь к директории с .feature файлами.
Эта ошибка свидетельствует о проблемах с конфигурацией зависимостей в проекте. Проверьте файл pom.xml или build.gradle на наличие актуальных зависимостей для Cucumber. Для Maven это могут быть зависимости для Cucumber-Java и Cucumber-Spring (если используется Spring). Для Gradle проверьте секцию dependencies на наличие необходимых библиотек.
Ошибка указывает на неправильный путь к файлу .feature в конфигурации запуска. Проверьте, что путь к файлу указан относительно корня проекта, а не от рабочего каталога IDE. Также стоит проверить, что сам файл существует и доступен для чтения.
Ошибка возникает, если метод для шагов не имеет правильной аннотации или сигнатуры. Убедитесь, что ваши методы для шагов имеют аннотации, например, @Given, @When, @Then, и что их параметры соответствуют типам данных в Gherkin-описаниях.
Если в IDE не появляется подсветка синтаксиса для Gherkin или не работает запуск тестов, возможно, плагин Cucumber для IntelliJ IDEA не установлен. Перейдите в настройки IDE, выберите «Plugins», найдите и установите плагин Cucumber.
IntelliJ IDEA может не распознавать расширение .feature по умолчанию. Для решения этой проблемы откройте «Settings» → «Editor» → «File Types» и убедитесь, что файлы с расширением .feature ассоциированы с типом «Gherkin».
Следуя этим рекомендациям, можно устранить большинство типовых ошибок при интеграции Cucumber с IntelliJ IDEA и наладить стабильную работу автоматических тестов.
Вопрос-ответ:
Что такое Cucumber и зачем он нужен в проекте на Java?
Cucumber — это инструмент для автоматического тестирования, который поддерживает подход BDD (Behavior-Driven Development). Он позволяет писать тесты на естественном языке, который легко читается даже людьми без технического опыта. В Java проекте Cucumber помогает разработчикам, тестировщикам и бизнес-аналитикам работать вместе, улучшая коммуникацию и сокращая вероятность недоразумений в требованиях. Cucumber позволяет запускать сценарии тестирования, написанные на языке Gherkin, что делает тестирование более понятным и доступным.
Какие версии Cucumber для Java поддерживаются в IntelliJ IDEA?
IntelliJ IDEA поддерживает работу с любыми актуальными версиями Cucumber для Java. Однако, для стабильной работы рекомендуется использовать версии, совместимые с версией вашего проекта Java. Например, Cucumber 6.x поддерживает Java 8 и выше, что подходит для большинства современных проектов. Для использования Cucumber с версиями Java 9 и выше также можно подключить соответствующие версии Cucumber, такие как 7.x или 8.x. Поддержка старых версий Cucumber (например, 4.x и 5.x) со временем сокращается, поэтому лучше использовать последние версии для совместимости с новыми функциями и улучшениями в IntelliJ IDEA.
