Интеграционный тест без огурца? - PullRequest
1 голос
/ 09 февраля 2012

Я создаю приложение с помощью Rspec и Cucumber.Мое приложение использует много Javascript и Ajax, и это работает, но ... У меня всегда много проблем с Cucumber и Javascript.Кроме того, это очень медленно.Для каждого запуска он запускает Firefox и для каждого сценария он должен войти в мой сайт.Я думаю, чем я мог бы использовать mock с rspec для части входа (???).

Как вы думаете, чем лучше использовать Cucumber, чем RSpec / Capybara (и, возможно, Steak)?Быстрее ли забыть огурец?Как дела, сдача экзаменов?

Ответы [ 2 ]

3 голосов
/ 10 февраля 2012

Моя компания также использует rspec / cucumber. Если скорость селена - бутылочное горлышко, вы можете попробовать что-то вроде capybara-webkit

Не уверен, поможет ли это, но мы также используем макрос входа, который попадает на страницу входа только во время запросов javascript

def login_user
  let(:current_user) { Factory.create(:user) }

  before(:each) do
    if example.options[:js]
      visit new_user_session_path
      fill_in 'Email', :with => current_user.email
      fill_in 'Password', :with => current_user.password
      click_button 'Sign In'
    else
      page.driver.post user_session_path, 'user[email]' => current_user.email, 'user[password]' => current_user.password
    end
  end
end
1 голос
/ 09 февраля 2012

В моей компании мы заменили Cucumber на Rspec + Capybara, это на мой взгляд быстрее и лаконичнее.Весь код для вашего теста по большей части находится в одном месте, что также облегчает отладку.

...