Есть ли способ импортировать общий файл функции в другой файл функции в огурце
Есть ли способ импортировать один файл функции огурца в другой? так что я могу переместить мои повторные логики / действия / проверки бизнеса для другого потока в общий файл функций.
Примечание: я эффективно использую параметр фона для нескольких вещей, таких как запуск приложения в каждом файле функций. если учесть, даже этот фон также дублируется.:)
Большое спасибо.
2 ответа
Нет способа включить один файл функции в другой.
Если бы вы могли, то корнишон мог бы считаться языком программирования. Gherkin не является языком программирования, поэтому ему не хватает таких функций, как функции или модули.
Что вы можете сделать с вашим повторным опытом? Мой подход, вероятно, заключался бы в том, чтобы посмотреть, смогу ли я переместить обычную инициализацию, которую вы делаете в фоновом режиме, в стек. Я хотел бы увидеть, могу ли я реализовать несколько помощников, которые будут выполнять те же шаги, а затем либо минимизировать фон до чего-то вроде
Given the world is prepared
в фоновом режиме. Или просто убедитесь, что подготовка была сделана первой в сценариях, которые в ней нуждались. Может быть, даже скрыть это, чтобы звонок был сделан на первом этапе. Это, по сути, отодвинет фон от файла объектов и скроет его от заинтересованных сторон вашего бизнеса.
Одна вещь, на которую стоит обратить внимание: важен ли фон для заинтересованных сторон вашего бизнеса? Они заботятся о фонах или это просто шум для них? Если это важно, то не скрывайте фон. Если фоны не важны, то скрывайте их как можно больше.
Вы можете справиться с этим с помощью абстракции и фона.
При наличии любого количества предпосылок, если вы сгруппируете их и дадите им имя, вы можете вызвать их за один шаг. В огуречном пространстве гораздо эффективнее делать это, чем импортировать.
BDD - это работа на разных уровнях абстракции. В частности, когда вы создаете определенное поведение, вы работаете на детальном уровне. После того, как поведение создано, вы можете использовать это поведение более абстрактно.
Импорт просто дает вам доступ к деталям. Это плохо, потому что вы в конечном итоге работаете с разными уровнями абстракции в одном и том же месте, что опасно и запутанно.