4

我正在尝试在模块内生成一个新工厂,我基本上需要

require 'rails/generators'

我正在调用下面的命令。请注意,它会在test 文件夹中创建文件。

Rails::Generators.invoke 'factory_girl:model', ["Audit"]

-- create_table("audit", {:id=>:integer})
   -> 0.0085s
      create  test/factories/audit.rb

当我尝试在终端中生成工厂时,它会在spec 文件夹中创建工厂:

vo@so:~/Desktop/ruby-pos/api$ rails generate factory_girl:model 'Audit'
      create  spec/factories/audits.rb

我的问题是:我基本上想在运行时在spec 文件夹Rails::Generators.invoke 'factory_girl:model', ["Audit"]中创建工厂。

我已经被这个问题困住了几个小时,这就是我在这里的原因:) 有什么想法吗?

4

1 回答 1

6

如果您没有在application.rb尝试添加工厂时指定目录。必须帮忙。

更新(来自等价物8的好点):

对于 FactoryBot gem:

config.generators do |g|
  g.test_framework :rspec
  g.fixture_replacement :factory_bot, dir: 'spec/factories'
end

对于较旧的 FactoryGirl gem:

config.generators do |g|
  g.test_framework :rspec
  g.fixture_replacement :factory_girl, dir: 'spec/factories'
end
于 2017-01-08T18:30:55.013 回答