我正在尝试在模块内生成一个新工厂,我基本上需要
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
我的问题是:我基本上想在运行 Rails::Generators.invoke 'factory_girl:model', ["Audit"]
时在 spec 文件夹 中创建工厂.
我被这个问题困了几个小时,这就是我来这里的原因:)有什么想法吗?
最佳答案
如果您没有在 application.rb
中指定工厂目录,请尝试添加它。一定要帮忙。
更新(equivalent8 的优点):
对于 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
关于ruby-on-rails - Rails::Generator 没有在 spec 文件夹中创建工厂,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41432117/