0

次のキュウリ機能ファイル (login.feature) があります。

When I login with invalid credentials

対応するステップ定義 (login_steps.rb 内) は次のとおりです。

When(/^I login with 'invalid' credentials$/) do
  @page.login(USERS[:invalid]) 
end

env フォルダーの下の user.rb には次のものがあります。

USERS = {
    :valid => {
        :username => "peterpan",
        :password => "xyz"
    },
    :invalid => {
        :username => "invalidusername",
        :password => "testtest"
    }
}

上記は完全に正常に機能します。

ここで、valid、validwithusernameonly、validwithpasswordonly など、さらにいくつか必要です。たとえば、手順は次のとおりです。

When I login with 'invalid' credentials

When I login with 'valid' credentials

When I login with 'validwithusernameonly' credentials

これらの資格情報が user.rb にあると仮定します

以下で説明するように、user_credential_identifier を USERS に渡すには、以下のステップ定義で何をする必要がありますか。

When(/^I login with '(.+)' credentials$/) do |user_credential_identifier|
  @page.login(USERS[:invalid])
end
4

1 に答える 1

0

ステップから文字列を取得しました。たとえば、「有効」です。USERS ハッシュはシンボルをキーとして使用しているため、文字列をシンボルに変換する必要があります。.to_symこれは、次のメソッドを使用して実行できます。

user_credential_identifier.to_sym

この概念をステップに適用すると、次のようになります。

When(/^I login with '(.+)' credentials$/) do |user_credential_identifier|
  @page.login(USERS[user_credential_identifier.to_sym])
end
于 2013-09-17T16:35:00.360 に答える