FactoryBot未初始化的常量FactoryName

问题描述 投票:0回答:1

我有工厂

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

不太确定什么是错的,因为它看起来和其他工作工厂一样。

ruby rspec factory-bot
1个回答
4
投票

您可以拥有自定义工厂名称,但必须指定实际的类。

factory :activity_fit_file, class: 'Activity' do
  ···
end
© www.soinside.com 2019 - 2024. All rights reserved.