Могу ли я использовать Stepdefinitions из другой папки, которая не находится в моей текущей иерархии папок?

Я хочу использовать существующий step_definitions из моего проекта в другом наборе тестов на огуречный рубин.

Eg: 
|
|- common
|   |- step_difinitions
|   |- feature_file.feature
|
|- Some_other_folder
|   |- someother_feature.feature
|   |- ***Want to reuse the step_difinitions from common folder***

Это вообще возможно? Если нет, есть ли какая-нибудь работа для этого?

Да, вы должны иметь возможность, если ваша родительская папка features. Какая родительская папка для common и some_other_folder?

supputuri 14.05.2019 17:15

Да, моя родительская папка — это функция: ``` feature | |- общий | |- step_difinitions | |- feature_file.feature | |- Другая_папка | |- someother_feature.feature | |- Хотите повторно использовать step_difinitions из общей папки ```

Nexus S 14.05.2019 17:48

Таким образом, вы должны иметь возможность использовать пошаговые определения для папок из ваших файлов .feature. Вы получаете какое-либо сообщение об ошибке при попытке использовать определение шага из общей папки?

supputuri 14.05.2019 17:49

Я получаю сообщение об ошибке «Неопределенный шаг: «имя шага» (Cucumber:: Undefined)».

Nexus S 14.05.2019 18:08

Пробовали ли вы вызывать общий step_def в другой реализации step_def? Что-то вроде этого step 'common method step goes here'?

supputuri 14.05.2019 18:52

да. Я использовал общие шаги где-то в своих функциях, которые находятся в папке common. Теперь я хочу создать другую папку внутри папки feature. Я только что попытался переместить свой файл функций в новую папку, но он не выходит из моей новой папки для поиска шага определения.

Nexus S 14.05.2019 19:26

Попробуйте переместить обе папки common и other folder with step defs into step_definitions` и посмотрите. Как правило, мы храним все файлы .features в папке features > whateverFolder и файлы .rb step def в папке features > step_definitions.

supputuri 14.05.2019 19:34

Мне нужно иметь разные папки для разных задач, и в каждой есть файлы функций. Я попытался переместить все определения шагов в одну папку в feature->step_def. Я думаю, что огурец только пытается найти папку step_def в папке, где размещены файлы * .feature, и он не поднимется на шаг выше в иерархии, чтобы найти ее !!!!

Nexus S 14.05.2019 21:16

Какой у тебя Runner Options:? должно быть примерно так --color -r features. Где features — это папка, в которой находится родительская папка со всеми функциями и определением шага.

supputuri 14.05.2019 21:21

Я использую rake['feature_file_name'] require=features products=product_name . У меня есть следующие папки в features folder: common, product1, product2, product3 - в каждой из них есть только файлы функций. Кроме того, у меня есть общая папка с определениями шагов в папке features: step_definitions она выдавала ошибки с неопределенными сценариями.!!!

Nexus S 15.05.2019 17:03

У меня была оболочка вокруг команд огурца. Я изменил обертку для использования -r path_to_step_def's, и она работает отлично! Спасибо за помощь @supputuri!

Nexus S 15.05.2019 17:31
Пошаговое руководство по созданию собственного Slackbot: От установки до развертывания
Пошаговое руководство по созданию собственного Slackbot: От установки до развертывания
Шаг 1: Создание приложения Slack Чтобы создать Slackbot, вам необходимо создать приложение Slack. Войдите в свою учетную запись Slack и перейдите на...
0
11
31
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Я переместил папку step_defs из общих файлов функций в папку features и использовал

-r features/step_definitions во время выполнения команды CLI cucumber.

У меня была оболочка вокруг команд огурца. Поэтому убедитесь, что вы используете -r path в командах для огурцов.

Спасибо @supputuri за помощь!

Ответ принят как подходящий

Убедитесь, что определения шагов находятся в папке features (любое место в подпапке также подойдет). Затем вы должны использовать приведенную ниже команду, чтобы выбрать step-defs как часть выполнения ваших функций.

-r features_folder_path_goes_here

Если вы используете rubymine, вы можете перейти к Run > Edit Configuration и ввести Runner Options : --color -r feature_folder_path_goes_here или просто указать --color -r features.

К вашему сведению - --color не имеет ничего общего с этой проблемой, она гарантирует, что вывод будет отображаться в цвете.

Другие вопросы по теме