簡體   English   中英

你如何在 Rails 3 中使用 HTML::selector?

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

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