RSpec в неинициализированной константе на чистом Ruby

#ruby #rspec

#ruby #rspec

Вопрос:

В моем приложении pure ruby 2.7 я получаю сообщение об ошибке NameError: uninitialized constant LogParser .

Класс LogParser находится в app/lib/log_parser.rb том, что мне не хватает?

 require_relative '../spec_helper'

RSpec.describe LogParser do
  subject { LogParser.new(path) }
  let(:path) { 'spec/fixtrues/sample.log' }

  describe '.parse' do
    context 'when filepath was provided' do
      let(:file_instance) { instance_double(File) }

      before do
        allow(File).to receive(:new) { file_instance }
        # allow(file_instance).to receive(:open).with(path)
      end

      it 'expect to receive file path' do
        subject.parse
        expect(file_instance).should_receive(path)
      end
    end
  end
end
 

spec_helper.rb

 RSpec.configure do |config|
  config.expect_with :rspec do |expectations|
    expectations.include_chain_clauses_in_custom_matcher_descriptions = true
  end

  config.mock_with :rspec do |mocks|
    mocks.verify_partial_doubles = true
  end

  config.shared_context_metadata_behavior = :apply_to_host_groups
end
 

.rspec

 --require spec_helper
 

Комментарии:

1. требуется файл log_parser.rb в вашей спецификации

2. Вы правы, спасибо!