title: Using Factory Girl with Rspec
body: <p>I have set up Rspec with a rails4 app however the tests are returning:</p>
  
  <pre><code>Failure/Error: user = Factory(:user)
       NoMethodError:
         undefined method `Factory' for #&lt;RSpec::Core::ExampleGroup::Nested_4::Nested_1:0x007fa08c0d8a98&gt;
  </code></pre>
  
  <p>Seems like I'm including FactoryGirl incorrectly.  I've tried a couple of variations but I can't get it to work. </p>
  
  <p>My Spec Helper:</p>
  
  <pre><code># 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 }
  
  
  # Checks for pending migrations before tests are run.
  # If you are not using ActiveRecord, you can remove this line.
  ActiveRecord::Migration.check_pending! if defined?(ActiveRecord::Migration)
  
  RSpec.configure do |config|
    # ## Mock Framework
    #
    # If you prefer to use mocha, flexmock or RR, uncomment the appropriate line:
    #
    # config.mock_with :mocha
    # config.mock_with :flexmock
    # config.mock_with :rr
  
    # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
    config.fixture_path = "#{::Rails.root}/spec/fixtures"
  
    # If you're not using ActiveRecord, or you'd prefer not to run each of your
    # examples within a transaction, remove the following line or assign false
    # instead of true.
    config.use_transactional_fixtures = true
  
    # If true, the base class of anonymous controllers will be inferred
    # automatically. This will be the default behavior in future versions of
    # rspec-rails.
    config.infer_base_class_for_anonymous_controllers = false
  
    # Run specs in random order to surface order dependencies. If you find an
    # order dependency and want to debug it, you can fix the order by providing
    # the seed, which is printed after each run.
    #     --seed 1234
    config.order = "random"
    config.include Capybara::DSL, :type =&gt; :request
    config.include FactoryGirl::Syntax::Methods
  end
  </code></pre>
  
  <p>gem file:</p>
  
  <pre><code>group :development, :test do
    gem 'rspec-rails', '~&gt; 2.0'
    gem 'factory_girl_rails', :require =&gt; false  # as per sugestion on SO.  Without the require false also fails
    gem "capybara"
  end
  </code></pre>
  
  <p>my spec:</p>
  
  <pre><code>require 'spec_helper'
  
  describe "Create Event" do
    describe "Log in and create an event" do
      it "Allows creation of individual events" do
        user = Factory(:user)
        visit "/"
      end
    end
  end
  </code></pre>
  
  <p>and in /spec/factories/users.rb</p>
  
  <pre><code>FactoryGirl.define do
    factory :user do |f|
      f.email "provider@example.com"
      f.password "password"
    end
  end
  </code></pre>
  
  <p>How can i get going with factory girl?</p>