ruby-on-rails 如何在spec_helper.rb中的rspec配置块中添加“config.include FactoryBot::factoryBot::Methods”?

0dxa2lsx  于 7个月前  发布在  Ruby
关注(0)|答案(6)|浏览(73)

如果我加上:

config.include FactoryBot::Syntax::Methods

字符串

RSpec.configure do |config|


然后运行rspec,我看到这个错误:
/Users/佩里_mac/rails_projects/mymri/spec/spec_helper.rb:21:in `block in ':未初始化的常量FactoryBot(NameError)
我的gemfile.lock可以在this pastebin中看到
我的gem文件可以在this pastebin中看到
如果我省略Rspec.configure语句,我的测试都可以正常运行。我想使用缩写语法,但不确定我在这里做错了什么。
注:FactoryBot以前称为FactoryGirl

lstz6jyr

lstz6jyr1#

知道了
这张link给我指明了方向。
所需的添加应该在spec/support/factory_bot.rb中进行,它应该看起来像这样:

# RSpec
# spec/support/factory_bot.rb
RSpec.configure do |config|
  config.include FactoryBot::Syntax::Methods
end

字符串
注:FactoryBot以前称为FactoryGirl

oalqel3c

oalqel3c2#

必须将此字符串添加到文件“spec/RAILS_helper.rb”中,而不是“spec_helper. rb”中

svmlkihl

svmlkihl3#

同时确保spec/support/factory_bot.rb中的require 'factory_bot'
这就是我的问题所在。

ykejflvf

ykejflvf4#

确保在spec/rails_helper.rb * 中的 * require 'rspec/rails'之后包含require 'support/factory_girl'
我把它放在require 'spec_helper'之后得到这个错误。

n7taea2i

n7taea2i5#

这个答案是根据以前的注解和factory_bot编译和测试的。
1.创建spec/support/factory_bot.rb文件。
1.粘贴到spec/support/factory_bot.rb文件中:

require 'factory_bot'

RSpec.configure do |config|
  config.include FactoryBot::Syntax::Methods
end

字符串
1.在spec/rails_helper.rb文件中添加require 'support/factory_bot.rb'或在rails_helper.rb中取消注解以下行:

Dir[Rails.root.join('spec', 'support', '**', '*.rb')].sort.each { |f| require f }

628mspwn

628mspwn6#

我认为值得一提的是,如果使用FactoryGirl,您将收到一条弃用消息:

The factory_girl gem has been deprecated and has been replaced by factory_bot. Please switch to factory_bot as soon as possible.

字符串
只是给未来试图使用FactoryGirl的开发人员的一个提示。

相关问题