Как подтвердить количество элементов с помощью Capybara с правильным сообщением об ошибке?

Я знаю, что в Capybara вы можете сделать что-то вроде этого:

page.should have_css("ol li", :count => 2)

Однако если предположить, что на странице есть, например, только один совпадающий элемент, ошибка не очень информативна:

  1) initial page load shows greetings
 Failure/Error: page.should have_css("ol li", :count => 2)
 expected css "ol li" to return something

Вместо этого довольно неясного сообщения об ошибке, есть ли способ написать утверждение таким образом, чтобы вывод ошибки был чем-то вроде ' При сопоставлении 'ol li' ожидается: 2, найдено: 1 '. Очевидно, я мог бы сам создать собственную логику для такого поведения - я спрашиваю, есть ли способ сделать это «из коробки»?

Что бы это ни стоило, я использую драйвер Selenium и RSpec.

82
задан merryprankster 25 July 2011 в 10:32
поделиться