2013-07-26 3 views
-2

나 기능에 따라 env.rb 파일에 변경/지원 FactoryGirl 초기화 상수 (나가서 설명하자면 NameError)

require 'cucumber/rails' 
require "#{Rails.root}/spec/factories" 

및 gemfile 소스 'https://rubygems.org'사양에

gem 'rails', '3.2.13' 

# Bundle edge Rails instead: 
# gem 'rails', :git => 'git://github.com/rails/rails.git' 

gem 'sqlite3' 


# Gems used only for assets and not required 
# in production environments by default. 
group :assets do 
    gem 'sass-rails', '~> 3.2.3' 
    gem 'coffee-rails', '~> 3.2.1' 

    # See https://github.com/sstephenson/execjs#readme for more supported runtimes 
    # gem 'therubyracer', :platforms => :ruby 

    gem 'uglifier', '>= 1.0.3' 
end 

group :test do 
    gem 'cucumber-rails' 
    gem 'capybara' 
    gem 'database_cleaner' 
    gem 'factory_girl_rails', :require => false 
end 

group :development, :test do 
    gem 'rspec-rails' 
end 

gem 'jquery-rails' 
# To use ActiveModel has_secure_password 
# gem 'bcrypt-ruby', '~> 3.0.0' 

# To use Jbuilder templates for JSON 
# gem 'jbuilder' 

# Use unicorn as the app server 
# gem 'unicorn' 

# Deploy with Capistrano 
# gem 'capistrano' 

# To use debugger 
# gem 'debugger' 

/spec_helper.rb

# This file is copied to spec/ when you run 'rails generate rspec:install' 
ENV["RAILS_ENV"] ||= 'test' 
require File.expand_path("../../config/environment", __FILE__) 
require 'rspec/rails' 
require 'rspec/autorun' 
require 'factory_girl_rails' 

# Requires supporting ruby files with custom matchers and macros, etc, 
# in spec/support/ and its subdirectories. 
Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f} 

spec/factories.rb

스펙에서
FactoryGirl.define do 
    factory :user do 
    first_name "John" 
    last_name "Doe" 
    admin false 
    end 
end 

uninitialized constant FactoryGirl (NameError) 
/home/manish/change/test_cucumber/spec/factories.rb:1:in `<top (required)>' 
/home/manish/change/test_cucumber/features/support/env.rb:8:in `<top (required)>' 
/home/manish/.rvm/gems/ruby-1.9.3-p392/gems/cucumber-1.3.5/lib/cucumber/rb_support/rb_language.rb:122:in `load' 
/home/manish/.rvm/gems/ruby-1.9.3-p392/gems/cucumber-1.3.5/lib/cucumber/rb_support/rb_language.rb:122:in `load_code_file' 
/home/manish/.rvm/gems/ruby-1.9.3-p392/gems/cucumber-1.3.5/lib/cucumber/runtime/support_code.rb:180:in `load_file' 
/home/manish/.rvm/gems/ruby-1.9.3-p392/gems/cucumber-1.3.5/lib/cucumber/runtime/support_code.rb:83:in `block in load_files!' 
/home/manish/.rvm/gems/ruby-1.9.3-p392/gems/cucumber-1.3.5/lib/cucumber/runtime/support_code.rb:82:in `each' 

답변

10

은/

나는 또한있는 Hartl 튜토리얼에서이 문제를 직면
require 'factory_girl_rails' 
1

에서

FactoryGirl.find_definitions 

를 추가하려고 spec_helper.rb.

Spork를 사용하여 테스트 속도를 높이고 백그라운드에서 실행중인 경우 중지 (Ctrl + C)하고 다시 시작해야합니다 ($ bundle exec spork).

관련 문제