Обмениваться фоном между файлами Cucumber?


У меня есть несколько сценариев Cucumber, для которых я создал следующие файлы:

  • create_extended_search.характеристика
  • activate_extended_search.характеристика
  • edit_extended_search.характеристика
  • delete_extended_search.характеристика

В этих файлах у меня есть несколько сценариев.

Три файла используют один и тот же фон, и было бы неплохо поместить его в один файл (например, support/backgrounds.rb), а затем ссылаться на него из функции файлы.

Возможно ли это как-то? Спасибо.

2 2

2 ответа:

В Cucumber нет понятия "включать" файлы функций. Как указывает Джастин, вы можете создать один шаг, представляющий то, что вы хотите в качестве фона, и вызвать его, когда это уместно. Альтернативой является использование крючка Before для выполнения определенных задач перед сценариями, которые вы помечаете определенным тегом.

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

Я считаю, что вы должны создать шаг, который состоит из шагов в вашем текущем фоне. Затем вызовите этот шаг в фоновом режиме для каждой функции.