капибара, как протестировать несколько ссылок с шаблоном href - PullRequest
2 голосов
/ 22 июля 2011

Учитывая, что у меня есть страница с списком из 10 пользователей, Как я могу проверить, что у меня есть 10 ссылок на показы пользователей?

Я пробовал это:

   Then /^I should see a list of (\d+) users$/ do |num|
     page.should have_selector('a', {:href=>"users/*", :count => num})
   end

И это:

   Then /^I should see a list of (\d+) users$/ do |num|
     page.should have_selector('a', {:href=>/users\/\d+/, :count => num})
   end

Но оба возвращают ожидаемое css "a", чтобы что-то вернуть (RSpec :: Expectations :: ExpectationNotMetError)

Однако, если я опускаю параметр: count, тест всегда проходит независимоУ меня есть (даже ошибочный шаблон) в: href param.

1 Ответ

5 голосов
/ 13 сентября 2011

Я бы использовал xpath с функцией contains для этого:

page.should have_xpath("//a[contains(@href,'users')]"), :count => num)

Должно совпадать num вхождений любого элемента a с атрибутом href, содержащим текст 'users'.

...