Мое понимание различий между ними сводится к использованию тестов в качестве коммуникации.Если добавляемая вами функциональность необходима всем, кто читает сценарии и функции на простом языке, это следует сделать в разделе «Фон».Если функциональность является просто частью реализации вашей тестовой среды, она должна перейти в ловушку До.
Сохранение четких сценариев и функций является важной частью построения хороших тестов Cucumber.Я полагаю, что другой мысленной проверкой, которую вы могли бы использовать, было бы спросить себя, проверял ли кто-то ваши сценарии вручную, нужно ли им выполнять функциональность, которую вы хотите поместить в фон / перед хуком.Если бы они это сделали, я бы поместил его в раздел «Фон» в файле объектов.Если нет, вставьте его обратно в код.