Интеграционный тест без огурца?
Я создаю приложение с Rspec и Cucumber. Мое приложение использует много Javascript и Ajax, и это работает, но... У меня всегда много проблем с Cucumber и Javascript. Кроме того, это очень медленно. Для каждого запуска он запускает Firefox и для каждого сценария он должен войти в мой сайт. Я думаю, что я мог бы использовать макет с rspec для части входа (???).
Как вы думаете, чем лучше использовать огурец, а не RSpec/Capybara (и, возможно, стейк)? Быстрее ли забыть огурец? Как поживаете, сдаете тесты?
2 ответа
В моей компании мы заменили Cucumber на Rspec+Capybara, на мой взгляд, он быстрее и лаконичнее. Весь код для вашего теста по большей части находится в одном месте, что также облегчает отладку.
Моя компания также использует rspec/cucumber. Если скорость селена - бутылочное горлышко, вы можете попробовать что-то вроде капибара-вебкит
Не уверен, что это поможет, но мы также используем макрос входа, который попадает на страницу входа только во время запросов 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