使用RSpec计算页面上的链接

时间:2017-02-28 01:38:06

标签: ruby-on-rails ruby rspec

假设我正在测试控制器index的操作StaticPages。在控制器测试中,我需要计算此页面上about_path的链接数。

我已经谷歌了,发现任何可以帮助我的东西。我知道这很简单,也是一个新手问题,但我刚刚开始研究RSpec,我就在这里。

2 个答案:

答案 0 :(得分:2)

首先,您需要记住控制器规范默认情况下不会呈现视图。我建议您使用视图或请求规范。

其次,如果您正在使用内置断言,那么您可以通过以下方式检查链接数量:

assert_select %(a[href="#{about_path}"]), 5 # 5 is the expected number of links

如果您使用期望值,那么以下内容应该有效:

expect(page).to have_selector(%(a[href="#{about_path}"]), count: 5)

我建议你看一下the RSpec docs

答案 1 :(得分:1)

您可以解析响应正文,然后计算。

doc = Nokogiri::HTML(response.body)
doc.css('a').length