Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

uninitialized constant FactoryGirl when run rspec, but works in console

This is kind of my first time using rspec. I am getting uninitialized constant FactoryGirl when running rspec. I tried in in the console by running, rails c test, and it recognizes FactoryGirl properly.

Here is the output from rspec:

Failures:

  1) basic API gives authentication token from username and password
     Failure/Error: user = FactoryGirl.create(:user, last_name: last_name)
     NameError:
       uninitialized constant FactoryGirl
     # ./spec/requests/api/v1/api_spec.rb:4:in `block (2 levels) in <top (required)>'

Finished in 0.00069 seconds
1 example, 1 failure

Failed examples:

rspec ./spec/requests/api/v1/api_spec.rb:2 # basic API gives authentication token from username and password

And this is my spec/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'
FactoryGirl.find_definitions

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


ActiveRecord::Migration.check_pending! if defined?(ActiveRecord::Migration)

RSpec.configure do |config|
  config.fixture_path = "#{::Rails.root}/spec/fixtures"

  config.use_transactional_fixtures = true

  config.infer_base_class_for_anonymous_controllers = false

  config.order = "random"

end

I am not quite sure where to require 'factory_girl_rails and FactoryGirl.find_definitions because in the guide it just said "all you'll need to do is run FactoryGirl.find_definitions "

like image 830
harinsa Avatar asked Dec 20 '25 09:12

harinsa


1 Answers

I forgot to require 'spec_helper' in my spec file.

like image 83
harinsa Avatar answered Dec 23 '25 09:12

harinsa