スタック全体を Rails 3.0 ベースのプロジェクトから 3.1 にアップグレードしました。仕様には合格していますが、私の機能は少しうるさいです。私が現在抱えている問題は、このステップです:
Then /^I should see (\d+) menu item(?:s)? within "([^"]*)"$/ do |count, selector|
page.find(:css, selector, :count => count.to_i)
end
機能自体には、次のように記述できます。
Then I should see 5 menu items within "tr#menu_item_row"
私が受け取るメッセージは次のとおりです。
Then I should see 5 menu items within "tr#menu_item_row" # features/step_definitions/admin_menu_steps.rb:1
Ambiguous match, found 5 elements matching css "tr#menu_item_row" (Capybara::Ambiguous)
./features/step_definitions/admin_menu_steps.rb:2:in `/^I should see (\d+) menu item(?:s)? within "([^"]*)"$/'
features/admin_menu.feature:30:in `Then I should see 5 menu items within "tr#menu_item_row"'
私が知る限り、5 つの要素は実際に見つかった 5 つの要素と一致しています。このコードを間違って書いたのでしょうか、それとも大きな変更がありましたか? ありがとう!