ruby 如何使用水豚验证记录数

14ifxucb  于 2022-11-04  发布在  Ruby
关注(0)|答案(2)|浏览(187)

我在一个Rails 2.3.9项目中使用了水豚沿着 cucumber 。
我有一个用户索引页,我有两条记录。使用水豚,我如何Assert只有两条记录在页中。
HTML结构是这样的

<div class='records'>
  <li>record 1<li>
  <li>record 2 </li>
</div>
roqulrg3

roqulrg31#

这样就可以定义Cucumber步骤:

page.has_css?("div.records li", :count => 2)

还有page.has_xpath?(但我不理解xpath)
如果你使用Rspec,你可以用Rspec的方式表达它:

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

就在昨天,我不得不解决一个非常类似的问题;这是我最后得到的完整步骤定义。

Then /^I should see only (\d+) tasks$/ do |number_of_tasks|
  page.should have_css("table tr.task", :count => number_of_tasks.to_i)
end
bq3bfh9z

bq3bfh9z2#

更新后的代码如下所示:

page.should have_css('div.records li', count: 2)

然后您可以检查:

within('div.records li') do
   expect(page).to have_text('record 1')
   expect(page).to have_text('record 2')
end

相关问题