instance method setup_fixtures

Ruby on Rails 8.0.4

Since v2.3.18 Private

Available in: v2.3.18 v3.0.20 v3.1.12 v3.2.22.5 v4.0.13 v4.1.16 v4.2.9 v5.2.8.1 v6.0.6 v6.1.7.10 v7.0.10 v7.1.6 v7.2.3 v8.0.4 v8.1.2

Signature

setup_fixtures(config = ActiveRecord::Base)

No documentation comment.

Parameters

config opt = ActiveRecord::Base
Source
# File activerecord/lib/active_record/test_fixtures.rb, line 113
      def setup_fixtures(config = ActiveRecord::Base)
        if pre_loaded_fixtures && !use_transactional_tests
          raise RuntimeError, "pre_loaded_fixtures requires use_transactional_tests"
        end

        @fixture_cache = {}
        @fixture_cache_key = [self.class.fixture_table_names.dup, self.class.fixture_paths.dup, self.class.fixture_class_names.dup]
        @fixture_connection_pools = []
        @@already_loaded_fixtures ||= {}
        @connection_subscriber = nil
        @saved_pool_configs = Hash.new { |hash, key| hash[key] = {} }

        if run_in_transaction?
          # Load fixtures once and begin transaction.
          @loaded_fixtures = @@already_loaded_fixtures[@fixture_cache_key]
          unless @loaded_fixtures
            @@already_loaded_fixtures.clear
            @loaded_fixtures = @@already_loaded_fixtures[@fixture_cache_key] = load_fixtures(config)
          end

          setup_transactional_fixtures
        else
          # Load fixtures for every test.
          ActiveRecord::FixtureSet.reset_cache
          invalidate_already_loaded_fixtures
          @loaded_fixtures = load_fixtures(config)
        end
        setup_asynchronous_queries_session

        # Instantiate fixtures for every test if requested.
        instantiate_fixtures if use_instantiated_fixtures
      end

Defined in activerecord/lib/active_record/test_fixtures.rb line 113 · View on GitHub · Improve this page · Find usages on GitHub

Defined in ActiveRecord::TestFixtures

Type at least 2 characters to search.

↑↓ navigate · open · esc close