Неопределенный метод для config.swagger_root для ядра Rspec

#ruby-on-rails #swagger #rspec-rails

#ruby-on-rails #swagger #rspec-rails

Вопрос:

Я уже использовал rswag раньше, с точно такими же настройками. Но по какой-то причине я не могу запустить свой rspec или rake rswag:specs:swaggerize; я всегда получаю сообщение об ошибке метода ‘swagger-root=’ undefined. Я не могу понять, почему.

Я уже пытался снова установить все файлы rswag; rails g rswag: api:install rswag:ui:install RAILS_ENV=test rails g rswag:спецификации: установить я также попытался снова установить rspec.

«»При загрузке произошла ошибка ./spec/integration/translation_sp.rb. Сбой / ошибка: config.swagger_root = Rails.root.to_s ‘/swagger’

Ошибка NoMethodError: неопределенный метод `swagger_root=’ для #»»

/spec/swagger_helper.rb

 require 'rails_helper'

RSpec.configure do |config|

  config.swagger_root = Rails.root.to_s   '/swagger'

  config.swagger_docs = {
    'v1/swagger.json' => {
      swagger: '2.0',
      info: {
        title: 'API V1',
        version: 'v1'
      },
      paths: {}
    }
  }
end
 

Ответ №1:

После многих попыток это в конечном итоге показалось ответом: изменение двух строк в файле spec_helper. От этого:

 root = File.expand_path('../', File.dirname(__FILE__))
Dir[File.join(root,'lib/**/*.rb')].each { |f| require f }
 

К этому:

 require File.expand_path("../../config/environment", __FILE__)
 

Вероятно, слово «root» здесь не следует использовать..