Domanda

How do I implement optional argument in cucumber.

I've step definition

     When /^I set parameter1 to (.+) and parameter2 to (.+) and parameter3 to (.+)$/ do    |arg1,arg2,arg3|

which is triggered by

     I set parameter1 to a,b and parameter2 to c,d and parameter3 to e,f

How can I make my step definition so it can be triggered by any one of these

     I set parameter1 to a,b and parameter2 to c,d and parameter3 to e,f

     I set parameter1 to a,b and parameter2 to c,d

     I set parameter1 to a,b
È stato utile?

Soluzione

It's better to use tables then

When I set parameters
  | parameter_id | value |
  | parameter1   | a,b   |
  | parameter2   | a,b,c |

Then in step definition you can iterate over table elements.

When /^I set parameters$/ do |table|
  puts table.hashes
  #=> { 'parameter1' => 'a,b', 'parameter2' => 'a,b,c' }
end
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top