2016-11-15 4 views
0

ここで問題は何ですか?以前の著者のコード(myの使用)を下のステップ定義とマージしようとしています。最初のステップ定義で最初のステップ%が呼び出されると、次のエラーが発生します。このエラーは、受信ステップの定義で、2つの引数、テーブルと@nameが別の場所に設定されていて、テーブルuser_roleの値でのみ呼び出すと想定していますか? #FAILS WITH:あなたのブロックは2つの引数をとりますが、Regexpは1つの引数にマッチしました。ブロックは2つの引数をとりますが、正規表現は1つの引数と一致します

Then I make my person a user with role of "Peak Admin" in Peak 

When(/^I make my person a user with role of "([^"]*)" in Peak$/) do |role| 
    step %{I make my person a user in Peak 
    | user_role | role | } 
end 

Then(/^I make my person a user in Peak$/) do |table| 
    step %{I make the person "#{@name}" a user in Peak 
    | user_role | table.rows_hash[:user_role] |} 
end 

When(/I make the person "([^"]*)" a user in Peak$/) do |person,table| 
    .... 

答えて

0

あなたは正しく、あなたの他のステップ内のデータテーブルを取る手順を呼び出していない - あなたの最初のステップは、

When(/^I make my person a user with role of "([^"]*)" in Peak$/) do |role| 
    step "I make my person a user in Peak", table([ 
    [ "user_role", role] 
    ]) 
end 
のようなものになることに続き https://github.com/cucumber/cucumber/wiki/Calling-Steps-from-Step-Definitions#calling-steps-with-multiline-step-arguments

- キュウリのwikiを参照してください

関連する問題