2012-02-17 50 views
0

如何在黄瓜中实现可选参数。黄瓜可选参数匹配

我有步骤定义

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

这是由

 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 and parameter3 to e,f 

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

    I set parameter1 to a,b 

回答

2
任何一个触发触发

最好用表格

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

然后在步骤定义中,您可以迭代表格元素。

When /^I set parameters$/ do |table| 
    puts table.hashes 
    #=> { 'parameter1' => 'a,b', 'parameter2' => 'a,b,c' } 
end 
+0

我想在每个值列中调用这个方法'def method(a = [],b []).... end'。这意味着,对于上面的例子,值a,b对应于数组a = [],值a,b,c对应于数组b = []。我想这样'h = table.hashes方法(h [“parameter1”],h [parameter2])'但它不工作。有人可以请帮助。 – user1207289 2012-02-17 17:41:57

+0

任何人在这个请求? – user1207289 2012-02-17 21:26:05