    # File lib/action_controller/integration.rb, line 509
          def open_session(application = nil)
            session = Integration::Session.new(application)

            # delegate the fixture accessors back to the test instance
            extras = Module.new { attr_accessor :delegate, :test_result }
            if self.class.respond_to?(:fixture_table_names)
              self.class.fixture_table_names.each do |table_name|
                name = table_name.tr(".", "_")
                next unless respond_to?(name)
                extras.__send__(:define_method, name) { |*args|
                  delegate.send(name, *args)
                }
              end
            end

            # delegate add_assertion to the test case
            extras.__send__(:define_method, :add_assertion) {
              test_result.add_assertion
            }
            session.extend(extras)
            session.delegate = self
            session.test_result = @_result

            yield session if block_given?
            session
          end