假设我正在测试控制器StaticPages
的动作index
。在控制器测试中,我需要计算此页面上的链接数量为about_path
。使用RSpec计算页面上的链接
我已经谷歌它,并没有发现任何可以帮助我。我知道这很简单,也是一个新手问题,但我刚开始学习RSpec,我就在这里。
假设我正在测试控制器StaticPages
的动作index
。在控制器测试中,我需要计算此页面上的链接数量为about_path
。使用RSpec计算页面上的链接
我已经谷歌它,并没有发现任何可以帮助我。我知道这很简单,也是一个新手问题,但我刚开始学习RSpec,我就在这里。
首先,你需要记住,控制器规格不默认呈现意见。我建议您使用视图或请求规范。
其次,如果你使用内置的断言,那么你可以检查与链接数量:
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。
你可以解析响应体,然后计数。
doc = Nokogiri::HTML(response.body)
doc.css('a').length
谢谢格雷格 –