Тест RSpec 2 View для проверки доступной разметки?

Я хочу сделать некоторые базовые тесты доступности в RSpec (очевидно, для дальнейшей проверки другими инструментами и пользователями позже; это должно поймать низко висящие плоды, такие как поиск изображений без тегов alt и т. д.)

В большинстве примеров просто проверка наличия содержимого аналогична; то, что я хочу сделать, это получить список тегов, а затем сделать утверждения, что «все» найденные теги соответствуют определенным критериям (например, все изображения должны иметь либо alt, либо longdesc; для каждого ввода формы требуется либо метка, либо заголовок, так далее).

Может ли RSpec сделать это, а если нет, то есть ли инструмент, который может это сделать?

Спасибо.


person Paul    schedule 26.08.2011    source источник


Ответы (1)


Вы можете использовать webrat для проверки наличия селекторов XPath в спецификациях представления:

describe 'my/view.html.erb' do
  it 'should not have images without alt or longdesc attributes' do
    render
    rendered.should_not have_xpath('//img[not(@alt) and not(@longdesc)]')
  end
end

Capybara также поддерживает селекторы XPath.

person Tomas Mattia    schedule 08.11.2011