RSpec找不到Factorygirl的Factorys

我将在我的Rails3项目中使用RSpec和Factory girl。 我已安装工厂女孩,但它没有找到factorys我有这个错误

Failure/Error: Factory.build(:user).should_be valid No such factory: user 

spec / factories / user_factory.rb:

 Factory.define :user do |u| u.username 'otto' end 

投机/ spec_helper.rb

 ENV["RAILS_ENV"] ||= 'test' require File.expand_path("../../config/environment", __FILE__) require 'rspec/rails' require 'factory_girl' Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f} RSpec.configure do |config| config.mock_with :rspec config.fixture_path = "#{::Rails.root}/spec/fixtures" config.use_transactional_fixtures = true end 

的Gemfile:

 group :development, :test do gem 'webrat' gem "cucumber-rails" gem "rspec-rails" gem "rspec" gem "autotest" gem 'factory_girl' end 

谢谢

config\application.rb是否有以下行:

 # Configure generators values. config.generators do |g| g.test_framework :rspec, :fixture => true g.fixture_replacement :factory_girl, :dir=>"spec/factories" end 

将’factory_girl_rails’gem添加到您的:test,:development groups下的Gemfile中,如下所示:

 group :development, :test do gem 'webrat' gem "cucumber-rails" gem "rspec-rails" gem "rspec" gem "autotest" gem 'factory_girl' gem 'factory_girl_rails' end 

在Rails 3中,您需要添加该gem以使其工作。 希望能帮助到你。

你试过添加类似的东西吗?

 Dir[Rails.root.join("spec/factories/**/*.rb")].each {|f| require f} 

在spec_helper? 这对我来说

如果您的rspec配置正在加载spec / support下的所有内容,那么您可以将工厂目录放在那里。

看到这篇文章: http : //www.codeography.com/2010/04/30/using-factory_girl-and-rspec-with-rails-3.html