    # File lib/active_record/fixtures.rb, line 914
        def setup_fixtures
          return unless defined?(ActiveRecord) && !ActiveRecord::Base.configurations.blank?

          if pre_loaded_fixtures && !use_transactional_fixtures
            raise RuntimeError, 'pre_loaded_fixtures requires use_transactional_fixtures'
          end

          @fixture_cache = {}
          @@already_loaded_fixtures ||= {}

          # Load fixtures once and begin transaction.
          if run_in_transaction?
            if @@already_loaded_fixtures[self.class]
              @loaded_fixtures = @@already_loaded_fixtures[self.class]
            else
              load_fixtures
              @@already_loaded_fixtures[self.class] = @loaded_fixtures
            end
            ActiveRecord::Base.connection.increment_open_transactions
            ActiveRecord::Base.connection.transaction_joinable = false
            ActiveRecord::Base.connection.begin_db_transaction
          # Load fixtures for every test.
          else
            Fixtures.reset_cache
            @@already_loaded_fixtures[self.class] = nil
            load_fixtures
          end

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