factory_girl和factory_girl_rails Ruby Gems之间的区别

时间:2014-04-04 14:14:33

标签: ruby-on-rails ruby rspec factory-bot

{3}}和factory_girl Ruby Gems之间有区别吗?我有一个反复出现的问题,RSpec测试中出现错误:“未初始化的常量FactoryGirl(NameError)”。

有人告诉我,两者之间存在差异(这实在令人困惑),而另一方需要另一方工作或其他方面的事情?

我的spec_helper文件包含:

factory_girl_rails

我的Gemfile有:

require 'factory_girl'
require 'factory_girl_rails'

以下是完整错误:

gem 'factory_girl_rails'

2 个答案:

答案 0 :(得分:5)

你只需要:

group :development, :test do
  gem "rspec-rails"
  gem "factory_girl_rails"
end

因为factory_girl_rails会自动合并factory_girl gem并添加对Rails的支持。

这些宝石同时适用于测试和开发组,因为Rails生成器将在开发中创建存根文件,当然在测试环境中也需要它们。

无需将factory_girl或factory_girl_rails添加到specs / spec_helper.rb文件中。

答案 1 :(得分:0)

factory_girl_rails添加到test

下的Gemfile中
group :test, :development do
  gem "factory_girl_rails"
end

然后不要在spec_helper中执行require,它应该在测试期间自动加载;运行rspec时,如果需要,请使用bundle exec