{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'
答案 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
组
group :test, :development do
gem "factory_girl_rails"
end
然后不要在spec_helper中执行require,它应该在测试期间自动加载;运行rspec时,如果需要,请使用bundle exec