Я заинтересован в применении еще одного уровня абстракции к моему BDD-пакету cucumber webrat, который знает о DOM, с которым я работаю.
В настоящее время я пишу определения шагов, например, в этом примере:
response_body.should have_selector("div", :id => 'left-side-bar') do |div|
div.should have_selector("h1", :content => 'Hello')
... other stuff
end
Я знаю, что могу сделать это с помощью xpath и другими способами, но я хочу использовать свой собственный DSL следующим образом:
left_sidebar.should have_heading("Hello")
По сути, я хочу представить конкретные объекты проекта, которые требуются моему клиентутакие пункты меню, блоки или виджеты, столбцы, нижний колонтитул и тому подобное в DSL.
Как бы я это сделал?Это практично?Мое приложение не является железнодорожным (если это имеет значение)