У меня нет примера кода для того, что я имею в виду, за исключением того, что я хотел бы объединить и выполнить несколько шагов в совокупности в рамках одного шага (подумайте: повторное использование кода). Я понятия не имею, как это сделать с помощью Cucumber.js; документация немного схематична. :-\
Как я могу объединить шаги в Cucumber.js, как описано в документации Ruby Cucumber?
Ответы (1)
Короче говоря, вы не можете и, скорее всего, никогда не сможете сделать это напрямую в огурце-js.
Matt Wynne и Aslak Hellesoy, кажется, сожалеют о том, что когда-либо реализовали эту концепцию в Cucumber-Ruby, и предлагают вместо этого использовать вспомогательные методы.
aslakhellesoy прокомментировал Октябрь 16, 2012
Вызов шагов из stepdefs — это одна из тех функций, которые я бы никогда не добавил в Cucumber(-Ruby), потому что это дает людям столько веревок, на которых они могут повеситься. Это произошло из-за того, что пошаговые определения Ruby используют анонимные замыкания, которые вы не можете вызывать откуда-либо еще (если только вы не пройдете через обручи).
С JavaScript ситуация другая; Определения шагов используют первоклассные функции!
Мэттвин прокомментировал авг 27, 2014
Я предлагаю вам использовать вспомогательные методы в вашем мире для достижения такого повторного использования. Мы реализовали эту функцию (мы называем ее «вложенными шагами») в Ruby Cucumber, и ее было сложно поддерживать, и это привело к очень сложным зависимостям в тестовом коде людей.
Очевидно, Жюльен Биземанс согласен
jbpros прокомментировал авг 13, 2014
Спасибо @cono за пиар. Однако, как обсуждалось ранее, это не будет реализовано в Cucumber.js.
Подробнее по теме:
- https://github.com/cucumber/cucumber-js/issues/11
- https://github.com/cucumber/cucumber-js/issues/237
- https://github.com/cucumber/cucumber-js/issues/473
- https://github.com/cucumber/cucumber-js/pull/223