Хорошо, я не могу понять, почему это происходит или как это исправить. Недавно я обновился до 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]