2010-11-29 11 views
7

usaré RSpec con Factory girl en mi proyecto Rails3. He instalado chica de la fábrica pero no encuentra la factorys tengo este errorRSpec no puede encontrar Factorys de Factorygirl

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

spec/fábricas/user_factory.rb:

especificación
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 

Gracias

+2

el problema es con factory_girl. Cuando uso factory_girl_rails todo funciona bien. – ThreeFingerMark

Respuesta

10

¿Tiene las siguientes líneas en su 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 
+0

Gracias por la ayuda. He agregado esto en la configuración \ application.rb pero tengo el mismo error. – ThreeFingerMark

5

añadir el 'factory_girl_rails" joya a su Gemfile debajo: prueba,: grupos de desarrollo, de la siguiente manera:

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

En Rails 3, debe agregar esa gema para que funcione. Espero eso ayude.

+2

... y, de hecho, puede eliminar la línea factory_girl si lo desea. Es una dependencia de factory_girl_rails, por lo que se incluirá automáticamente. –

+0

Paul tiene razón. No necesita esa línea – GreenPlastik

2

has necesitado añadir algo así como

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

en el spec_helper? que lo hizo por mí

+0

, esto me la solucionó, la otra solución no la solucionó – Markus

Cuestiones relacionadas