У меня есть шаг, который может быть таким:
Then I 'eat' all food except
| Bread |
Then I 'drink' all food except
| Bread |
| Milk |
Then I 'eat' all food
Я решил поместить некоторые из аргументов в таблицу, потому что в противном случае это может быть трудно прочитать.
Определение шага в Ruby:
Then(/^I '(eat|drink)' all food(?: except)?$/) do |action, exceptions|
exceptions = exceptions.raw.flatten.map(&:strip) unless exceptions.nil?
action == 'eat' ? method1(exceptions: exceptions) : method2(exceptions: exceptions)
Работает нормально, но не для случая, когда я не передаю аргумент таблицы («Тогда я« ем всю еду »).
Можно ли сделать аргумент таблицы необязательным?