ВНИМАНИЕ: Вы используете устаревший основной класс. Пожалуйста, используйте io.cucumber.core.cli.Main.

Вопрос или проблема

ВНИМАНИЕ: Вы используете устаревший основной класс. Пожалуйста, используйте io.cucumber.core.cli.Main.

Получаю следующую ошибку и не могу ее исправить, следуя решениям в интернете. Может, кто-то поможет

21 сен 2024 20:42:35 cucumber.api.cli.Main run
ПРЕДУПРЕЖДЕНИЕ: Вы используете устаревший основной класс. Пожалуйста, используйте io.cucumber.core.cli.Main
Исключение в потоке "main" java.lang.IllegalArgumentException: путь должен существовать: C:\Users\vsingire\eclipse-workspace\CucumberJava\src\test\resources\HooksDemo\HooksDemo.feature
    at io.cucumber.core.resource.PathScanner.findResourcesForPath(PathScanner.java:49)
    at io.cucumber.core.resource.PathScanner.findResourcesForUri(PathScanner.java:31)
    at io.cucumber.core.resource.ResourceScanner.findResourcesForUri(ResourceScanner.java:61)
    at io.cucumber.core.resource.ResourceScanner.scanForResourcesUri(ResourceScanner.java:134)
    at io.cucumber.core.runtime.FeaturePathFeatureSupplier.loadFeatures(FeaturePathFeatureSupplier.java:62)
    at io.cucumber.core.runtime.FeaturePathFeatureSupplier.get(FeaturePathFeatureSupplier.java:45)
    at io.cucumber.core.runtime.Runtime.run(Runtime.java:77)
    at io.cucumber.core.cli.Main.run(Main.java:87)
    at cucumber.api.cli.Main.run(Main.java:30)
    at cucumber.api.cli.Main.main(Main.java:15)

Я пытался запустить файл .feature и получаю эту ошибку. Я скопировал полную папку проекта с моего предыдущего ноутбука. Нужно ли что-то изменить?

Ответ или решение

Конечно, давайте разберем вашу проблему с ошибкой, которую вы получаете при запуске Cucumber.

Основная проблема

Судя по вашему сообщению об ошибке, у вас две проблемы:

  1. Использование устаревшего класса Main: Предупреждение о том, что вы используете устаревший класс cucumber.api.cli.Main, указывает на то, что библиотека Cucumber была обновлена, и вам необходимо использовать новый класс io.cucumber.core.cli.Main. Это означает, что вам нужно обновить ваш код для запуска тестов так, чтобы он использовал новый класс.

  2. Отсутствие файла .feature: Второе сообщение (IllegalArgumentException: path must exist) говорит о том, что указанный путь к вашему файлу HooksDemo.feature не существует. Это может произойти по нескольким причинам:

    • Файл был перемещен или удален.
    • Вы указали неправильный путь к файлу.
    • Проект не настроен должным образом в вашей новой среде.

Решение проблемы

Шаг 1: Обновление кода запуска

Если у вас есть код, который запускает Cucumber, замените вызовы с использованием cucumber.api.cli.Main на:

import io.cucumber.core.cli.Main;

public class RunCucumberTests {
    public static void main(String[] args) {
        String[] cucumberOptions = {
            "--plugin", "pretty",
            "--glue", "your.step.definitions.package",
            "src/test/resources/HooksDemo/HooksDemo.feature"
        };
        Main.main(cucumberOptions);
    }
}

Убедитесь, что вы указываете правильный путь как для --glue, так и для файла .feature.

Шаг 2: Проверка пути к файлу .feature

  1. Убедитесь, что файл существует: Проверьте, что файл HooksDemo.feature действительно находится по указанному пути: C:\Users\vsingire\eclipse-workspace\CucumberJava\src\test\resources\HooksDemo\.

  2. Проверьте структуру проекта: Иногда при копировании проекта могут возникать ошибки в структуре каталогов. Убедитесь, что ваша структура файлов соответствует стандартам Maven или Gradle (в зависимости от того, что вы используете).

  3. Проверьте настройки IDE: Убедитесь, что ваша среда разработки (Eclipse) правильно настроена и что она видит файл .feature. Вы можете попробовать обновить проект (правой кнопкой мыши на проекте → Refresh).

  4. Проверьте конфигурации запуска: Убедитесь, что ваша конфигурация запуска Cucumber правильно настроена и указывает на существующий путь к файлу.

Заключение

После выполнения предложенных действий ваши проблемы должны быть решены. Если вы по-прежнему сталкиваетесь с какими-либо трудностями, попробуйте дать больше информации о вашей структуре проекта или о том, как вы настраиваете запускаемые тесты. Удачи!

Оцените материал
Добавить комментарий

Капча загружается...