このネストされたキュウリ テーブルを処理する手順を作成するにはどうすればよいですか?
Scenario Outline: Sign Up
Given I am on the <language> site
And I am on the home page
When I follow "<register>"
And I fill in the following:
| <fname> | John |
| <lname> | Doe |
And I check "paintball"
And I fill in the following within Emergency Contact:
| <ename> | Jane Doe |
| <enumber> | 4161111111 |
Then I should see "John Doe"
Examples:
| language | register | fname | lname | ename | enumber |
| en | Register | First Name | Last Name | Name | Number |
| pt | Registrar | Primeiro Nome | Sobrenome | Nome | Telefone |
ステップキュウリは私に実装するように求めます
When /^ I fill in "(.*?)" with "(.*?)" $/ do |arg1, arg2, table|
# table is a Cucumber::Ast::Table
pending # express the regexp above with the code you wish you had
end
しかし、実装すると、アリティの不一致エラーが発生します。
Your block takes 3 arguments, but the Regexp matched 2 arguments.
(Cucumber::ArityMismatchError)
これは予期されることです。フィーチャ ファイルを最後まで解析する前に、cucumber はフィーチャにネストされたテーブルがあることを確認します。これにはステップ定義がないので、それを要求します。しかし、ファイル全体を解析した後、Gherkin は機能の最後にあるテーブルを個々のプレースホルダーに変換し、それによって最高のテーブルの必要性を無効にします (または、これはうまくいくと思います)。
When
ただし、スコープに入る 2 つの引数を使用して前の句を実装すると、--guess
オプションが役に立たないあいまいなエラーが発生します。
私はあまりにも長い間この方法で立ち往生しています。どんな助けでも大歓迎です。