0

Transformメソッドを使用して、ステップ定義で文字列をシンボルに変換しようとしています。しかし、それはトリガーしません。

これが私のステップです:

Given(/^I log in to "(.*?)" project$/) do |project|
  #here I expect project to be symbol
end

変換方法

Transform /^I log in to "(.*?)"$/ do |project|
  project = :my_symbol
end

Transformステップ定義の直前に配置しましたが、それでもシンボルではなく文字列を取得します。

私が間違っていることは何ですか?

4

1 に答える 1

1

transformsのドキュメントでは、正規表現の例は文字列の開始アンカーと終了アンカーなしで記述されています。文字列の末尾$アンカーを変換式に配置すると、ステップとの一致が妨げられます。

変換でアンカーを削除してみてください。つまり、次のようになります。

Transform /I log in to "(.*?)"/ do |project|
  project = :my_symbol
end

また、同じ内容を括弧で囲んでいることを確認してください。

Given(/^(I log in to ".*?") project$/) do |project|
  #here I expect project to be symbol
end
于 2013-05-20T07:22:57.610 に答える