Я пытаюсь загрузить RSpec в консоль Rails. На самом деле главная причина, по которой мне это нужно, заключается в том, что я хочу запустить этот код, чтобы я мог использовать синтаксис «allow» в FactoryBot,
FactoryBot::SyntaxRunner.class_eval do
include RSpec::Mocks::ExampleMethods
end
Итак:
- Я открываю консоль с помощью
rails c -e test
- Сначала я пытаюсь запустить приведенный выше код напрямую и получаю сообщение об ошибке.
NameError: uninitialized constant RSpec::Mocks
- Я подумал, что сначала я должен попытаться загрузить RSpec, чтобы это заработало, поэтому я попытался запустить
require './spec/spec_helper'
, и он кричит мне с NoMethodError: undefined method
configure 'для RSpec: Module`
В качестве временного решения я просто вставляю byebug
в любое случайное место спецификации, чтобы получить контекст RSpec со всем, что мне нужно, предварительно загруженным, и использую его вместо консоли rails, но действительно нет лучшего способа достичь этого?
Заранее большое спасибо за любую помощь!
Постскриптум фрагмент моего Gemfile:
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]
gem 'rspec-rails', '~> 3.7.0'
gem 'rspec-collection_matchers'
gem 'factory_bot_rails'
end
group :test do
# Adds support for Capybara system testing and selenium driver
gem 'capybara', '>= 2.15', '< 4.0'
gem 'selenium-webdriver'
# Easy installation and use of chromedriver to run system tests with Chrome
gem 'chromedriver-helper'
end
Полный Gemfile здесь