Использование Webrat для проверки списка имеет определенное количество элементов li - PullRequest
0 голосов
/ 08 июля 2010

Для шага огурца я знаю, что конкретный элемент ul должен иметь 5 дочерних элементов li.Как я могу утверждать это с Webrat?

Я предполагаю, что может быть что-то вроде:

Then ".selector" should have n ".another-selector"

или, может быть,

Then I should see n ".selector" within ".another.selector"

Есть ли что-нибудь подобное вокруг или я должен сделать специальный шаг?

Спасибо!


Обновление:

Я прибег к следующему, который, кажется, работает нормально:

# Check there are the correct number of items
assert_have_selector("#activity ol li:nth-child(5)")
assert_have_no_selector("#activity ol li:nth-child(6)")

Другое обновление:

Я сделал немногоизменить на то, что поставил Мэтт:

Then /^I should see ([0-9]+) "([^\"]*)"$/ do |count, selector|
  response.body.should have_selector(selector, :count => count.to_i)
end

Работает угощение!

1 Ответ

1 голос
/ 09 июля 2010

Вот как я это делаю:

Then /^"([^\"]*)" should have ([0-9]+) "([^\"]*)"$/ do |selector1, count, selector2|
  within(selector1) do |content|
       content.should have_selector(selector2, :count => count.to_i)
  end
end

Что нужно сделать?

Матт

...