I have a Rails 6 (edge branch) application with a gemfile like this:
source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
ruby '2.6.3'
gem 'rails', github: "rails/rails", branch: "6-0-stable"
# TAAALK ADDITIONS
# amazon S3
gem "aws-sdk-s3", require: false
# Font Awesome
gem 'font-awesome-sass', '~> 5.12.0'
# Pagination
gem 'will_paginate', '~> 3.1.1'
# Images
gem 'mini_magick'
# gem 'cloudinary', '~> 1.12.0'
# Dot Env
gem 'dotenv-rails', groups: [:development, :test]
# Simple Form
gem 'simple_form'
# Fake emails in development
gem 'letter_opener', group: :development
# Friendly URLs
gem 'friendly_id', '~> 5.2.4'
# Devise
gem 'devise'
# Bootstrap
gem 'bootstrap', '~> 4.4.1'
# Jquery for Bootstrap
gem 'jquery-rails'
# Sendgrid for email
gem 'sendgrid-ruby'
# Pundit for authentication
gem 'pundit'
# Factroy Bot for testing
group :development, :test do
gem 'factory_bot_rails'
end
# END TAAALK ADDITIONS
# Use postgresql
gem 'pg'
# Use Puma as the app server
gem "puma", ">= 4.3.3"
# Use SCSS for stylesheets
gem 'sass-rails', '>= 6'
# Use development version of Webpacker
gem 'webpacker', github: "rails/webpacker"
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
gem 'turbolinks', '~> 5'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.7'
# Use Redis adapter to run Action Cable in production
# gem 'redis', '~> 4.0'
# Use Active Model has_secure_password
# gem 'bcrypt', '~> 3.1.7'
# Use Active Storage variant
gem 'image_processing', '~> 1.2'
# Reduces boot times through caching; required in config/boot.rb
gem 'bootsnap', '>= 1.4.2', require: false
group :development, :test do
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
end
group :development do
# Access an interactive console on exception pages or by calling 'console' anywhere in the code.
gem 'web-console', github: 'rails/web-console'
gem 'listen', '>= 3.0.5', '< 3.2'
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
gem 'spring'
gem 'spring-watcher-listen', '~> 2.0.0'
end
group :test do
# Adds support for Capybara system testing and selenium driver
gem 'capybara', '>= 2.15'
gem 'selenium-webdriver'
# Easy installation and use of web drivers to run system tests with browsers
gem 'webdrivers'
end
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
I am doing testing and first had an issue where I was unable to load 'test_helper':
no such file to load -- test_helper (LoadError)
This was resolved nicely with: test_helper don't load when I make a test
=> Changing
require 'test_helper'
to
require File.dirname(__FILE__) + '/../test_helper'
1. Why did I have to do this? I feel like this should work out of the box?
When I then resolved this I get the following:
Traceback (most recent call last):
28: from /Users/joshua/.rbenv/versions/2.6.3/bin/rspec:23:in `<main>'
27: from /Users/joshua/.rbenv/versions/2.6.3/bin/rspec:23:in `load'
26: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/exe/rspec:4:in `<top (required)>'
25: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/runner.rb:45:in `invoke'
24: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/runner.rb:71:in `run'
23: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/runner.rb:86:in `run'
22: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/runner.rb:102:in `setup'
21: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/configuration.rb:1604:in `load_spec_files'
20: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/configuration.rb:1604:in `each'
19: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/configuration.rb:1606:in `block in load_spec_files'
18: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/configuration.rb:2103:in `load_file_handling_errors'
17: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/configuration.rb:2103:in `load'
16: from /Users/joshua/code/JoshInLisbon/rails-projects/taaalk_edge/test/policies/tlk_policy_test.rb:2:in `<top (required)>'
15: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
14: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
13: from /Users/joshua/code/JoshInLisbon/rails-projects/taaalk_edge/test/test_helper.rb:4:in `<top (required)>'
12: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/zeitwerk-2.3.0/lib/zeitwerk/kernel.rb:23:in `require'
11: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
10: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
9: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.6/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
8: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
7: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
6: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/pundit-2.1.0/lib/pundit/rspec.rb:5:in `<main>'
5: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/pundit-2.1.0/lib/pundit/rspec.rb:6:in `<module:Pundit>'
4: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/pundit-2.1.0/lib/pundit/rspec.rb:7:in `<module:RSpec>'
3: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/pundit-2.1.0/lib/pundit/rspec.rb:8:in `<module:Matchers>'
2: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core.rb:180:in `const_missing'
1: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/zeitwerk-2.3.0/lib/zeitwerk/kernel.rb:23:in `require'
/Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:34:in `require': cannot load such file -- rspec/expectations (LoadError)
13: from /Users/joshua/.rbenv/versions/2.6.3/bin/rspec:23:in `<main>'
12: from /Users/joshua/.rbenv/versions/2.6.3/bin/rspec:23:in `load'
11: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/exe/rspec:4:in `<top (required)>'
10: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/runner.rb:45:in `invoke'
9: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/runner.rb:71:in `run'
8: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/runner.rb:86:in `run'
7: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/runner.rb:102:in `setup'
6: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/configuration.rb:1604:in `load_spec_files'
5: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/configuration.rb:1604:in `each'
4: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/configuration.rb:1606:in `block in load_spec_files'
3: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/configuration.rb:2102:in `load_file_handling_errors'
2: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/configuration.rb:2106:in `rescue in load_file_handling_errors'
1: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/zeitwerk-2.3.0/lib/zeitwerk/kernel.rb:23:in `require'
/Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:34:in `require': cannot load such file -- rspec/core/did_you_mean (LoadError)
14: from /Users/joshua/.rbenv/versions/2.6.3/bin/rspec:23:in `<main>'
13: from /Users/joshua/.rbenv/versions/2.6.3/bin/rspec:23:in `load'
12: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/exe/rspec:4:in `<top (required)>'
11: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/runner.rb:45:in `invoke'
10: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/runner.rb:71:in `run'
9: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/runner.rb:86:in `run'
8: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/runner.rb:104:in `setup'
7: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/runner.rb:104:in `ensure in setup'
6: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/world.rb:187:in `announce_filters'
5: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/world.rb:195:in `report_filter_message'
4: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/reporter.rb:100:in `message'
3: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/reporter.rb:207:in `notify'
2: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/reporter.rb:237:in `ensure_listeners_ready'
1: from /Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/zeitwerk-2.3.0/lib/zeitwerk/kernel.rb:23:in `require'
/Users/joshua/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:34:in `require': cannot load such file -- rspec/core/profiler (LoadError)
See the bits that read:
cannot load such file -- rspec/...
As you can see above, I have not added gem 'rspec-rails' to my gemfile.rb. When I look at the edge branch info on testing (https://edgeguides.rubyonrails.org/testing.html), it does not mention having to do this.
2. Does anyone know why I am getting these errors and what I need to do to correct them?
Thank you
Aucun commentaire:
Enregistrer un commentaire