FactoryBot неинициализированная константа FactoryName - PullRequest
0 голосов
/ 12 марта 2019

У меня есть фабрика

FactoryBot.define do
    factory :activity_fit_file do
        association :user, factory: :user
        activity_type {:cycling}
        after(:build) do |activity|
            activity.original_activity_log_file.attach(
                io: File.open("#{Rails.root}/spec/files/example_fit_file.fit"),
                filename: 'example_fit_file.fit',
                content_type: 'application/vnd.ant.fit'
            )
        end
    end
end

, и в моей спецификации у меня есть

require 'rails_helper'

RSpec.describe "Activity upload fixer" do
    it 'converts fit files to gpx' do
        activity = FactoryBot.create(:activity_fit_file)
    end
end

Запуск спецификации дает ошибку

 NameError:
   uninitialized constant ActivityFitFile

Не совсем уверен, чтоневерно, потому что похоже на другие работающие фабрики.

1 Ответ

3 голосов
/ 12 марта 2019

У вас могут быть собственные фабричные имена, но вы должны указать фактические классы.

factory :activity_fit_file, class: 'Activity' do
  ···
end
...