rspec / rails не может загружаться с Ruby 2.7.1 - PullRequest
1 голос
/ 29 мая 2020

Хорошо, я не могу понять, почему это происходит или как это исправить. Недавно я обновился до Ruby 2.7.1, и когда я запускаю rspe c в этом приложении rails, происходит следующее:

rspec spec/models/company_spec.rb 

An error occurred while loading ./spec/models/company_spec.rb. - Did you mean?
                    rspec ./spec/models/employee_spec.rb
                    rspec ./spec/models/deal_spec.rb
                    rspec ./spec/models/documentation_spec.rb

Failure/Error: require 'rspec/rails'

LoadError:
  cannot load such file -- minitest/assertions
# ./spec/rails_helper.rb:7:in `<main>'
# ./spec/models/company_spec.rb:1:in `<top (required)>'

Это довольно стандартное приложение, использующее rspe c - рельсы. Файлы rails_helper.rb и spec_helper.rb почти идентичны тем, что генерирует rails g rspec::install.

При запуске rspe c каждый файл имеет аналогичную ошибку и указывает на случайный другой файл spe c с наиболее похожим названием. Я попытался включить minitest в файл gemfile, но это не помогло.

Я использую rbenv и переключаюсь обратно на 2.6.5 (rbenv local 2.6.5 и ruby '~> 2.6.5' в файле gem ) действительно устраняет проблему, но не идеально.

Кроме того, кажется, что проблема ограничена только rspe c, поскольку локальный запуск Rails не вызывает проблем.

Вот мой текущий гем-файл:

source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }

ruby '~> 2.7.1'

gem 'rails', '~> 6.0.0'
gem 'puma', '~> 3.11'
gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0'
gem 'turbolinks', '~> 5'
gem 'jbuilder', '~> 2.5'
gem 'bcrypt', '~> 3.1.7'
gem 'bootsnap', '>= 1.1.0', require: false
gem 'webpacker'

# gem 'redis', '~> 4.0'

# Use ActiveStorage variant
# gem 'mini_magick', '~> 4.8'

# Security gems
gem 'pundit'

# Utility gems
gem 'phony_rails'

group :development, :test do
  gem 'sqlite3'

  gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
  gem 'rspec-rails'
  gem "factory_bot_rails"
  gem 'rubocop', require: false
  gem 'brakeman', require: false
  gem 'dotenv-rails'

  gem 'rubocop-rails'
  gem 'rubocop-rspec'
  gem 'rubocop-performance'

  gem 'table_print'
end

group :test do
  gem 'capybara'
  gem 'capybara-screenshot'
  # gem 'selenium-webdriver'  # A default not being used
  gem 'webdrivers'
end

group :development do
  gem 'web-console', '>= 3.3.0'
  gem 'listen', '>= 3.0.5', '< 3.2'
  gem 'spring'
  gem 'spring-watcher-listen', '~> 2.0.0'

  # adding an error inspection gem
  gem "better_errors"
  gem "binding_of_caller"
end

group :production do
  gem 'pg'
end

# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
...