Полагаю, это последний шаг, с которым у вас возникли проблемы.
Когда я попробовал последний шаг, по умолчанию был задан шаг огурца:
Then /^I should see alfa romeo (\d+) (\d+) (\d+),(\d+) (\d+),(\d+) displaying correctly and successfully$/ do |arg1, arg2, arg3, arg4, arg5, arg6|
pending # express the regexp above with the code you wish you had
end
Я не уверен, как Cucumber определяет определение предлагаемого шага, но это не то, что вам подойдет. Как вы сказали, 6 аргументов неверно. Кроме того, этот шаг будет соответствовать только тем примерам, где заголовок начинается с «alfa romeo».
Изменение определения шага на следующее решит ваш текущий пример сценария:
Then /^I should see (.+) (\d+) ([\d|,]+) ([\d|,]+) displaying correctly and successfully$/ do |arg1, arg2, arg3, arg4|
puts arg1 #=> alfa romeo 166
puts arg2 #=> 2005
puts arg3 #=> 73,000
puts arg4 #=> 6,990
end
Два изменения:
1) Номера в формате запятой были изменены на:
([\d|,]+)
, что означает, что оно будет соответствовать любому номеру или запятой. Если ваши числа также могут содержать десятичные дроби, вам нужно что-то вроде:
([\d|,|.]+)
2) Заголовок также был изменен, чтобы получить полный заголовок, а не только конечный номер.