Tüm yığınımı Rails 3.0 tabanlı bir projeden 3.1'e yükselttim. Özelliklerim var ama özelliklerim şimdi biraz seçici. Capybara: Öğelerin Sayısı Verilen Bir Değer Nasıl Verilir
Then /^I should see (\d+) menu item(?:s)? within "([^"]*)"$/ do |count, selector|
page.find(:css, selector, :count => count.to_i)
end
Ve özelliği kendisinde
, ben koymak olabilir:Then I should see 5 menu items within "tr#menu_item_row"
alıyorum mesajdır:
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"'
Bildiğim kadarıyla şu anda yaşadığım sorun bu adımdır anlatabildiğim gibi, 5 eleman aslında bulunan 5 ile eşleşiyor. Bu kodu yanlış mı yazdım yoksa önemli bir şey mi değişti? Teşekkürler!
': Eğer bağlı ve birçok insan onların kod 1.x için yazılmış olan onlar geriye uyumlu olacak lüzum söyledi olarak Capybara 2.1'de eklenmiştir blog yazısında görebileceğiniz gibi prefer_exact' kötü bir uygulama olarak kabul edilebilir . Bunu kullanmak için tavsiye etmek kötü bir fikir olduğunu düşünüyorum. –
bu yüzden başvurulan ve makaleye bağlandığım için aşağı oylamayı hak ettim? Sadece soruyu neden böyle olduğunu ve bunun hakkında ne yapılabileceğini anlatıyordum. Soruyu, bu özelliği güncellememeleri gerektiğini ve sadece bu şekilde yapmamasını söylemedim. Sadece bir soru "bir şey değişti mi?" – fontno
Upvoting, çünkü dikkatimi 'match' ayarları arasındaki farka odakladı. –