Шаг JVM undefined огурца

Я не могу выполнить простой тест с огурцом для проекта. Я нахожусь в сообществе Intellij 13 с плагином огурца.

Я написал свой файл функций в моем каталоге функций, я также выполнил свои действия, создав их с помощью плагина. И мои шаги в файлах функций распознаются intellij, которые могут перемещаться и перейти к реализации шага.

Но когда я пытаюсь запустить мой сценарий, он всегда терпит неудачу, потому что для каждого шага он говорит "Undefined step:".

Вот как организован мой проект:

file organization

И как я уже говорил, вы можете видеть, что мои шаги распознаются Intellij:

feature file

Как это возможно, и как я могу это исправить?

Любая помощь будет замечательной!

РЕДАКТИРОВАТЬ

Теперь, когда я добавил параметры для своего бегуна:

@CucumberOptions(  monochrome = true,
        features = "src/test/resources/features/",
        format = { "pretty","html: cucumber-html-reports",
                "json: cucumber-html-reports/cucumber.json" },
        dryRun = false,
        glue = "fr.tlasnier.cucumber" )

Это работает!

Тем не менее, я заметил, что до этого у меня было два сценария. Один работал отлично, другой не смог найти определение шага!

Действительно странно, поскольку в обоих сценариях были некоторые шаги.

Ответ 1

@RunWith(Cucumber.class)

@CucumberOptions(  monochrome = true,
                         tags = "@tags",
                     features = "src/test/resources/features/",
                       format = { "pretty","html: cucumber-html-reports",
                                  "json: cucumber-html-reports/cucumber.json" },
                        dryRun = false,
                         glue = "fr.tlasnier.cucumber" )

public class RunCucumber_Test {
  //Run this
}

Ответ 2

Я столкнулся с той же проблемой. И обнаружил, что если пакет, в котором существуют определения шагов, не создан в соответствующей исходной папке. Вы можете попытаться создать класс в файле fr.tlasnier.cucumber.step, тогда идея должна быть в состоянии найти шаги. Я думаю, что это ошибка в Idea.

Ответ 3

Класс, в котором определены этапы, должен быть общедоступным. Все остальное выкинет ошибку шага undefined.