[英]How do you use HTML::selector in Rails 3?
我正在測試一個表格。 看起來像:
<form accept-charset="UTF-8" action="/the_action" method="post">
<select id="id" name="z[z_id]">
<option value="7">Foo</option>
<option value="11">Bar</option>
</select>
</form>
如何將所有選項值放入數組(7,11)中進行測試? 這些值是 model 的 id,所以我想測試每個 object 的某些屬性。
我閱讀了 HTML::Selector 的 api 文檔(http://api.rubyonrails.org/),但沒有幫助。
還使用了 Rails Guides (http://guides.rubyonrails.org/testing.html#testing-views) 中的 assert_select,但沒有弄清楚如何以除測試相等性之外的方式使用 value。
你有推薦的介紹資源嗎?
謝謝。
編輯:這是視圖中的代碼:
<%= form_tag( :action => :the_action) do %>
<%= select :model_name, :model_id, Model.where(:user_id => 1).collect{|m| [m.full_name, m.id]}, :selected => selected_value, :include_blank => false %>
<%= submit_tag "view model" %>
<% end %>
此功能沒有 controller 代碼。
聽起來好像您正在通過視圖測試 model。 是否有任何理由不只檢查視圖中是否存在選擇器,並在 model 測試中測試 model 的屬性?
編輯:
所以我處理這個問題的方法是在 model 上創建一個方法
def options_for_user(user_id)
self.where(user_id => 1).collect{|m| [m.full_name, m.id]}
end
然后我會從視圖中調用此方法,並在單元測試中測試選項創建。 也許這只是我 - 但它使測試這類事情變得非常容易......
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.