Я работаю на приложение Rails 4 и я хочу написать несколько тестов для Брэйнтри:Тест Брэйнтри с RSpec и водосвинки в Rails 4
с помощью RSpec-реек (2.14.0) и водосвинку (2.1.0) в Rails 4.0.0
проблема с на маршруте, в форме для Брэйнтри я передать: URL
<%= form_for :customer, :url => Braintree::TransparentRedirect.url do |f| %>
Теперь, когда я запустить тест свойства, как этот:
it 'should make new payment info' do
login
visit new_customer_path
page.fill_in 'customer_credit_card_number', :with => '4111111111111111'
page.fill_in 'customer_credit_card_expiration_date', :with => '01/25'
page.fill_in 'customer_credit_card_cvv', :with => '400'
page.click_button 'Save Payment Info'
page.should have_content('Payment Info Confirmation')
page.should have_content('411111******1111')
end
я получаю ошибку на маршруте:
Failure/Error: page.click_button 'Save Payment Info'
ActionController::RoutingError:
No route matches [POST] "/merchants/fvn6vfc5ptyg2xrp/transparent_redirect_requests"
Я также попытался это в тесте контроллера (с render_views):
it 'should make new payment info' do
sign_in_as_user
visit new_customer_path
page.fill_in 'customer_credit_card_number', :with => '4111111111111111'
page.fill_in 'customer_credit_card_expiration_date', :with => '01/25'
page.fill_in 'customer_credit_card_cvv', :with => '400'
page.click_button 'Save Payment Info'
save_and_open_page
page.should have_content('Payment Info Confirmation')
page.should have_content('411111******1111')
end
ту же ошибку на маршруте ...
В разработке env в браузере он отлично работает, я выгляжу так: опция url в моей форме игнорируется capybara? Интересно, может ли кто-нибудь помочь мне с этим?
Я также нашел эти примеры приложений для Braintree с Rails: https://github.com/braintree/braintree_ruby_examples/blob/master/rails3_tr_devise/spec/controllers/customer_controller_spec.rb, когда я запускаю тесты на этом проекте, он работает. Может быть, моя проблема связана с версией Rails и rspec?
большое спасибо заранее !!
Эй Райана, спасибо за Ваш ответ! Самое приятное, что у меня есть твоя книга (купленная на 19 ян), но в последнее время она не смотрела. Я использую ваш драгоценный камень, потому что я также смотрел [link] https://github.com/thoughtbot/fake_braintree, чтобы ускорить тесты. Но я не понимаю, что мой контрольный тест также не работает, как в примере с Braintree, но мой контрольный тест точно такой же! добавление: js => true с драйвером selenium дает мне странные ошибки sqlite в данный момент :( – Daniel
О драйвере selenium и ошибке sqlite, я исправил это, заставляя все драйверы использовать одно и то же соединение [link] http: // stackoverflow .com/questions/8774227/why-not-use-shared-activerecord-connections-for-rspec-selenium. Что вам нужно сделать для некоторых тестов ... – Daniel