[英]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.