Я хочу использовать существующий step_definitions из моего проекта в другом наборе тестов на огуречный рубин.
Eg:
|
|- common
| |- step_difinitions
| |- feature_file.feature
|
|- Some_other_folder
| |- someother_feature.feature
| |- ***Want to reuse the step_difinitions from common folder***
Это вообще возможно? Если нет, есть ли какая-нибудь работа для этого?
Да, моя родительская папка — это функция: ``` feature | |- общий | |- step_difinitions | |- feature_file.feature | |- Другая_папка | |- someother_feature.feature | |- Хотите повторно использовать step_difinitions из общей папки ```
Таким образом, вы должны иметь возможность использовать пошаговые определения для папок из ваших файлов .feature. Вы получаете какое-либо сообщение об ошибке при попытке использовать определение шага из общей папки?
Я получаю сообщение об ошибке «Неопределенный шаг: «имя шага» (Cucumber:: Undefined)».
Пробовали ли вы вызывать общий step_def в другой реализации step_def? Что-то вроде этого step 'common method step goes here'?
да. Я использовал общие шаги где-то в своих функциях, которые находятся в папке common. Теперь я хочу создать другую папку внутри папки feature. Я только что попытался переместить свой файл функций в новую папку, но он не выходит из моей новой папки для поиска шага определения.
Попробуйте переместить обе папки common и other folder with step defs into step_definitions` и посмотрите. Как правило, мы храним все файлы .features в папке features > whateverFolder и файлы .rb step def в папке features > step_definitions.
Мне нужно иметь разные папки для разных задач, и в каждой есть файлы функций. Я попытался переместить все определения шагов в одну папку в feature->step_def. Я думаю, что огурец только пытается найти папку step_def в папке, где размещены файлы * .feature, и он не поднимется на шаг выше в иерархии, чтобы найти ее !!!!
Какой у тебя Runner Options:? должно быть примерно так --color -r features. Где features — это папка, в которой находится родительская папка со всеми функциями и определением шага.
Я использую rake['feature_file_name'] require=features products=product_name . У меня есть следующие папки в features folder: common, product1, product2, product3 - в каждой из них есть только файлы функций. Кроме того, у меня есть общая папка с определениями шагов в папке features: step_definitions она выдавала ошибки с неопределенными сценариями.!!!
У меня была оболочка вокруг команд огурца. Я изменил обертку для использования -r path_to_step_def's, и она работает отлично! Спасибо за помощь @supputuri!

Я переместил папку 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 не имеет ничего общего с этой проблемой, она гарантирует, что вывод будет отображаться в цвете.
Да, вы должны иметь возможность, если ваша родительская папка
features. Какая родительская папка дляcommonиsome_other_folder?