假設我正在測試控制器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
謝謝格雷格 –