在黄瓜/水豚中重构多种发现方法的方法

时间:2014-05-09 10:02:16

标签: ruby-on-rails tdd cucumber capybara bdd

以下是我在测试中的表现:

find('#instructors').find('.caption').find('h2').should have_content(full_name)

有没有办法将它重构为一个而不是三个?

2 个答案:

答案 0 :(得分:3)

当您链接find方法时,您要找到节点A并在该节点B内找到该节点C.在该节点C中。当您使用每个find的CSS选择器时,这是相当于使用CSS选择器来搜索后代。通过在选择器之间添加空格来执行后代搜索。

这三种find方法可以合并为一个find

find('#instructors .caption h2').should have_content('full_name')

答案 1 :(得分:0)

当你正在寻找某种东西而不是与它相互作用时,你可以使用匹配器,例如

 has_css('#instructors .caption h2', text: 'full_name')