Cucumber не является средой для программирования.
Если вам нужно программировать, вам нужно либо выполнить sh программирование до ваших определений шагов, либо лучше, но все же вспомогательные методы, вызываемые вашими определениями шагов, или потяните код вверх, чтобы у вас были такие вещи, как сценарии, которые динамически создают функции.
Большую часть времени откладывать программирование - это самый простой ответ. Если вы реализуете определение шага как один вызов, вы в конечном итоге окажетесь в довольно мощной среде программирования на своем языке выбора. Здесь вы можете l oop, сопоставлять, подключаться к внешним ресурсам и т.д. c. et c.
В вашем примере программирование сосредоточено на том, как что-то делается. Первый шаг к этому - понять, ЧТО пытается сделать ваш сценарий и ПОЧЕМУ это важно. В настоящее время ваш сценарий не может это сделать. Он утверждает, что это то, что a user can open and view a document
. Если бы это было на самом деле так, ваш сценарий был бы
Given the user has a document
When they open their document
Then they should see their document
Но ваш сценарий всецело связан с расчетом проверки партий, кредитами. Вы не добьетесь никакого прогресса, не представив гораздо более четкого описания ЧЕГО объединенные эффекты всех этих взаимодействий, и ПОЧЕМУ эта конкретная комбинация взаимодействий важна.