切换到工厂机器人后错误工厂未注册

jos*_*221 4 ruby rspec ruby-on-rails-4 factory-bot

我在spec_helper.rb中有工厂机器人

config.include FactoryBot::Syntax::Methods
Run Code Online (Sandbox Code Playgroud)

所以我将工厂从 FactoryGirl 更新为 FactoryBot 如下

规格/工厂/产品.rb

FactoryBot.define do
  factory :products do
    id Faker::Number.between(100, 900)
    ...more fields...
  end
end
Run Code Online (Sandbox Code Playgroud)

并尝试在请求规范中使用它,如下所示

规格/请求/products_request_spec.rb

require 'rails_helper'

RSpec.describe 'Products Request', type: :request do
  let(:products) { FactoryBot.create(:products) }
  let(:base_path) { '/products' }
 .....something here...
end
Run Code Online (Sandbox Code Playgroud)

当我尝试运行测试时,我得到了factory not registerd: products。我做错了什么?

Kea*_*son 5

好吧,我想通了。文档不是很清楚,但是在使用 Rails 时,您不使用factory_botgem,而是使用factory_bot_railsgem。

问题解决了。