Тестирование «HTML-приспособлений» с помощью RSpec и rails

#ruby-on-rails #unit-testing #rspec #rspec2

#ruby-on-rails #модульное тестирование #rspec #rspec2

Вопрос:

У меня есть веб-скребок, созданный для синтаксического анализа html с веб-сайта, и я пытаюсь написать тесты для него.

Класс, который я пытаюсь протестировать, получает HTML-объект Nokogiri и извлекает из него требуемые данные. Теперь, как обычно, html может меняться, иногда элементы будут отсутствовать или еще что-то. Мне нужно протестировать эти разные ситуации.

Итак, что я хотел бы сделать, это создать кучу html-файлов, каждый из которых представляет случай с отсутствующим определенным элементом и т.д. Для каждого html-файла я хотел бы также создать связанный хэш данных, которые, как я ожидаю, будет извлекать scraper, при условии, что он работает правильно.

Итак, я хотел бы написать тест, который будет перебирать эти html-файлы и сравнивать данные, извлеченные тестируемым классом, с ожидаемыми данными и сообщать, верны они или нет.

Есть предложения относительно того, как это сделать?

Ответ №1:

Взгляните на драгоценные камни Artifice, fakeweb или webmock, которые переопределяют net / http для предоставления тестируемых результатов.