Есть ли способ импортировать общий файл функции в другой файл функции в огурце

Есть ли способ импортировать один файл функции огурца в другой? так что я могу переместить мои повторные логики / действия / проверки бизнеса для другого потока в общий файл функций.

Примечание: я эффективно использую параметр фона для нескольких вещей, таких как запуск приложения в каждом файле функций. если учесть, даже этот фон также дублируется.:)

Большое спасибо.

2 ответа

Нет способа включить один файл функции в другой.

Если бы вы могли, то корнишон мог бы считаться языком программирования. Gherkin не является языком программирования, поэтому ему не хватает таких функций, как функции или модули.

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

Given the world is prepared

в фоновом режиме. Или просто убедитесь, что подготовка была сделана первой в сценариях, которые в ней нуждались. Может быть, даже скрыть это, чтобы звонок был сделан на первом этапе. Это, по сути, отодвинет фон от файла объектов и скроет его от заинтересованных сторон вашего бизнеса.

Одна вещь, на которую стоит обратить внимание: важен ли фон для заинтересованных сторон вашего бизнеса? Они заботятся о фонах или это просто шум для них? Если это важно, то не скрывайте фон. Если фоны не важны, то скрывайте их как можно больше.

Вы можете справиться с этим с помощью абстракции и фона.

При наличии любого количества предпосылок, если вы сгруппируете их и дадите им имя, вы можете вызвать их за один шаг. В огуречном пространстве гораздо эффективнее делать это, чем импортировать.

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

Импорт просто дает вам доступ к деталям. Это плохо, потому что вы в конечном итоге работаете с разными уровнями абстракции в одном и том же месте, что опасно и запутанно.

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