簡體   English   中英

Rspec / rails:如何在視圖中測試樣本(x)

[英]Rspec/rails: How to test for sample(x) in a view

我有一個主頁正在使用此代碼從我的數據庫中提取隨機條目(可能不是最好的方法,但它可以工作)

def home
  ids = Entry.pluck(:id)
  @random_entries = Entry.find(ids.sample(5))
end

這是視圖:

<p>Here are 5 random entries:</p>
<% @random_entries.each do |entry| %>
<h3><%= entry.word.capitalize %></h3>
<p>Definition: <%= entry.definition %></p>
<% end %>

到目前為止,我的測試只是:

it "should have the content 'Here are 5 random entries'" do
  visit '/'
  expect(page).to have_content('Here are 5 random entries')
end

但是該測試僅檢查硬編碼到視圖中的內容。 控制器/視圖正在按我的要求工作,但是我沒有測試,也不太確定從哪里開始為此編寫一個。

我應該如何測試控制器動作?

也許您可以像這樣計算頁面中存在的h3標簽的數量:

page.all('h3').count.should eql(5)

如果您在該視圖中的其他任何地方都沒有其他任何h3標簽,則可以這樣做

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM