2012-03-28 29 views
0

我想知道是否有人對如何實現可以利用Rails表單生成器的Rspec測試有一個想法。這裏是我的幫手:RSpec測試使用表單構建器元素的方法

def render_radio_buttons(answer, label) 
    check_these = [] 
    field = '<div class="radio">' 
     label.split(',').each do |option| 
     if check_these.include?(option.strip) 
      field += answer.radio_button :body, option.strip, checked = true 
     else 
      field += answer.radio_button :body, option.strip 
     end 
     field += label_tag option.strip 
     end 
    field += '</div>' 
    end 

這種方法是從包含多個逗號分隔標籤的數據庫拉標籤字段。這種情況下的答案是表單生成器f。我會如何去測試這樣的東西,因爲它需要表單構建器?

如果你有更好的方法來實現這個,我很想知道!感謝任何能夠幫助的人!

+0

你看過嘲諷/期望嗎? 'answer'可以是一個可以採用'radio_button'方法的測試雙重方法,並且您可以期望它被稱爲具有正確參數的X次。然後你可以返回任何舊的字符串,然後測試你的'field'字符串。你真的不關心'.radio_button'返回什麼,因爲Rails正在處理這個問題。你更關心你如何使用它。 – MrDanA 2012-03-28 17:06:43

回答

1

我只是測試使用水豚的形式。

水豚幫助您通過模擬如何真正的用戶將與應用互動測試Rails和機架應用。對於運行測試的驅動程序是不可知的,並且內置Rack :: Test和Selenium支持。WebKit通過外部gem支持。

describe "the signup process", :type => :request do 
    before :each do 
    User.make(:email => '[email protected]', :password => 'caplin') 
    end 

    it "signs me in" do 
    within("#session") do 
     fill_in 'Login', :with => '[email protected]' 
     fill_in 'Password', :with => 'password' 
    end 
    click_link 'Sign in' 
    end 
end