Cucumber は、きちんとした Webrat 正規表現ステップをいくつか生成します。これを試したときに問題が発生しました。
特徴:
And I fill in "Telephone (Home)" with "61234567"
Webrat の手順:
When /^I fill in "([^\"]*)" with "([^\"]*)"$/ do |field, value|
fill_in(field, :with => value)
end
発生したエラー:
Could not find field: "Telephone (Home)" (Webrat::NotFoundError)
「ホーム」の間の括弧が問題を引き起こしているようです。括弧を考慮して正規表現を微調整するにはどうすればよいですか?
アップデート:
「フィールド」インスタンス変数が「電話(ホーム)」を生成したため、正規表現は問題ではなかったようです。本当の問題は、webrat の「fill_in」メソッドがフィールド変数を解析する方法でした。