0

これは、キュウリのオプション パラメータに関する以前の質問に関連しています。for email address..ビット で呼び出されたかどうかをステップ内でどのように判断できますか?

(私の特定の状況ではemail = default@domain.com、ステップが呼び出されたパラメーターを示す args.count またはより一般的な方法があるかどうかを確認できますか?)

4

1 に答える 1

0

その情報を推測できる唯一の方法は、パラメーターの値を確認することだと思います。値が nil の場合、何も割り当てられていません (つまり、ステップ定義のその部分は使用されていません)。

たとえば、メールアドレス部分が使用されたかどうかに応じて動作が必要な場合:

When /^I check the favorite color count(?: for email address (.*))?$/ do |email|
  if email.nil?
    # Then the "for email address" part was *not* used
  else
    # Then the "for email address" part was used
  end

  email ||= "default@domain.com"
  puts 'using ' + email
end

これは基本的に行email ||= "default@domain.com"が行っていることであることに注意してください。基本的には、この||=値がまだ存在しない場合にこの値を割り当てることを意味します。次のようにするのと同じです。

When /^I check the favorite color count(?: for email address (.*))?$/ do |email|
  if email.nil?
    # Then the "for email address" part was *not* used
    email = "default@domain.com"
  else
    # Then the "for email address" part was used
    # email already has a value so leave it be
  end

  puts 'using ' + email
end
于 2013-08-22T20:22:16.050 に答える