2012-02-17 52 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