ArgumentError: Factory not registered

后端 未结 3 759
孤独总比滥情好
孤独总比滥情好 2020-12-14 01:23

I am trying to get factory girl to run with rspec in my rails 4.1.1 app.

Problem is when I run rspec in my command line, i get Failure/Error: vers

相关标签:
3条回答
  • 2020-12-14 02:03

    There seems to be an issue when using rspec / factory girl with spring.

    Adding:

    config.before(:all) do
      FactoryGirl.reload
    end
    

    in my spec_helper.rb solved the issue.

    Credit: https://github.com/rails/spring/issues/88

    Edit:

    Another way to fix the issue is to manually tell Factory Girl where to load the factory. Add this in your spec_helper:

    FactoryGirl.definition_file_paths = [File.expand_path('../factories', __FILE__)]
    FactoryGirl.find_definitions
    
    0 讨论(0)
  • 2020-12-14 02:10

    This is not necessarily caused by Spring. There is an issue that means factory_girl loads the paths slightly different from rspec. The solution is to to add to the rails_helper the following

    FactoryGirl.definition_file_paths << File.join(File.dirname(__FILE__), 'factories')
    FactoryGirl.find_definitions
    

    assuming the helper is at engine_root/spec.

    This occurs when you are using rspec in a rails engine.

    0 讨论(0)
  • 2020-12-14 02:11

    This seems to be an issue with Factory Bot. I fixed it (as per the issue report) with FactoryBot.find_definitions:

    RSpec.configure do |config|
      config.include FactoryBot::Syntax::Methods
    
      config.before do
        FactoryBot.find_definitions
      end
    end
    
    0 讨论(0)
提交回复
热议问题