Intellij огурец наброски сценарий неопределенное определение шага - PullRequest
0 голосов
/ 08 февраля 2019

Я прочитал множество постов в Stackoverflow, посвященных схожим проблемам, но большинство из них касалось шагов из сценария, а не набросков сценария.Моя проблема в том, что, хотя Intellij генерирует для меня заглушку определения шага, он не распознает шаг (если шаг содержит переменную), а определяемый им шаг не выглядит корректно для схемы сценария.Если я могу продемонстрировать на примере: Этот шаг огурца:

enter image description here

генерирует следующее определение шага: enter image description here

Две проблемы здесь заключаются в том, что шаг компонента сохраняет бежевый фон, который указывает, что его шаг не определен, и когда вы наводите курсор на него, всплывающая подсказка подтверждает это.Во-вторых, в коде определения шага нет переданной ему переменной, представляющей параметры в моей схеме сценария.Я ожидал, что сгенерированный код будет моим отредактированным кодом, показанным ниже, но это также не распознается как определение шага.enter image description here Я попытался создать два похожих шага, но изменил имя для фактических значений в моем примере схемы сценария, но это не работает, и у меня не установлен плагин Substeps.Все мои сгенерированные по одному сценарию шаги распознаются, как только они сгенерированы, но проблема именно в контурах сценария.Данный шаг из схемы сценария распознается или любой шаг без переменной.Я провел неделю в Интернете, пытаясь найти решение, но примеров сценариев очень мало.Я выполнил аналогичное упражнение, используя Visual Studio и плагин SpecFlow, и это было очень просто.

1 Ответ

0 голосов
/ 08 февраля 2019

После дополнительного тестирования одного шага в наброске сценария я нашел решение - замените вашу «переменную» на (. *), Так что, следуя приведенному выше примеру, распознанный код определения шага:

When("the user clicks the (.*) link", (String link) -> {
        // Do some test stuff here.
    });

Это не похоже на выражения определения шага огурца, которые, очевидно, связывают шаг огурца с определением шага (см. Здесь) .Я бы ожидал {String} в качестве выражения.Кроме того, это не то, что автоматически генерируется Alt + Enter в Intellij.

Это довольно мощно, поскольку любой шаг огурца, следующий за «пользователь нажимает ссылку« любой текст здесь »», будет видетьэтот шаг определения.

...