Я обновляю приложение rails с 4.2 до 5.0. Мы используем ruby 2.6.4
Мои тесты функций выполнялись нормально в 4.2
, но теперь не выполняются в 5.0
. Я не смог найти ничего об этом с помощью Google. Мне кажется, что функциональные тесты не видят страницу.
Gemfile:
group :test do
gem 'factory_girl'
gem 'factory_girl_rails'
gem 'capybara'
gem 'faker'
gem 'mocha', require: false
gem 'webmock', require: false
gem 'simplecov'
gem 'rails-controller-testing'
end
Gemfile.lock показывает capybara (3.32.1)
Я играл с несколькими различными версиями капибары, но получаю те же результаты.
Проверка характеристик:
require 'spec_helper.rb'
RSpec.feature "Manage Account Codes" do
scenario "User creates a new Account Code" do
# go to the new account code form
visit new_admins_kuali_account_code_path
# should be success
expect(page.status_code).to eq(200)
# are we on the right page/form?
expect(page).to have_content("Use this form to add a new account code")
end
...
end
Отказ:
Manage Account Codes
User creates a new Account Code (FAILED - 1)
Failures:
1) Manage Account Codes User creates a new Account Code
Failure/Error: expect(page).to have_content("Use this form to create a new account code")
expected to find text "Use this form to create a new account code" in "Kuali Account Codes\n| | \"kuali_account_codes\", :action => \"index\") %> | | | | 'layouts/statlerwire' %>"
# ./spec/features/kuali_account_code_spec.rb:19:in `block (2 levels) in <top (required)>'
Finished in 1.45 seconds (files took 2.7 seconds to load)
1 example, 1 failure
Failed examples:
rspec ./spec/features/kuali_account_code_spec.rb:11 # Manage Account Codes User creates a new Account Code
Первый тест: expect(page.status_code).to eq(200)
пройден. Я закомментирую остальные, так что только он работает. Кажется, он достигает page
, но больше ничего не видит / не находит на странице. Я пропускаю необходимый драгоценный камень для rails 5.0
?
Как уже упоминалось, все функциональные тесты прошли в 4.0
. Любопытно!
Спасибо за любую помощь.
-john C