RSpec тестирует метод, который использует элемент построителя форм - PullRequest
0 голосов
/ 28 марта 2012

Мне было интересно, есть ли у кого-нибудь идея о том, как реализовать тест 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 Ответ

1 голос
/ 29 марта 2012

Я бы просто протестировал форму с помощью Capybara.

https://github.com/jnicklas/capybara

Capybara помогает вам тестировать приложения Rails и Rack, имитируя взаимодействие реального пользователя с вашим приложением.Он не зависит от драйвера, выполняющего ваши тесты, и поставляется со встроенной поддержкой Rack :: Test и Selenium. WebKit поддерживается через внешний гем.

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
...