RSpec测试使用表单构建器元素的方法

时间:2012-03-28 16:40:31

标签: ruby-on-rails views helpers formbuilder

我想知道是否有人知道如何实现可以从rails使用表单构建器的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。我将如何测试这样的东西,因为它需要表单构建器?

如果你有更好的rails方法来实现这个,我很想知道!感谢任何可以提供帮助的人!

1 个答案:

答案 0 :(得分:1)

我只是用Capybara测试表格。

https://github.com/jnicklas/capybara

Capybara通过模拟真实用户与您的应用互动的方式,帮助您测试Rails和Rack应用程序。它与运行测试的驱动程序无关,并且内置了Rack :: Test和Selenium支持.WebKit通过外部gem支持。

describe "the signup process", :type => :request do
  before :each do
    User.make(:email => 'user@example.com', :password => 'caplin')
  end

  it "signs me in" do
    within("#session") do
      fill_in 'Login', :with => 'user@example.com'
      fill_in 'Password', :with => 'password'
    end
    click_link 'Sign in'
  end
end