module Test::Unit::Util::Output - test-unit: Ruby Standard Library Documentation

# module Test::Unit::Util::Output

### Public Instance Methods

capture_output() { || ... } click to toggle source

Returns output for standard output and standard error as string.

Example:

    capture_output do
      puts("stdout")
      warn("stderr")
    end # -> ["stdout\n", "stderr\n"]

    # File test-unit-3.6.7/lib/test/unit/util/output.rb, line 15
    def capture_output
      require 'stringio'

      output = StringIO.new
      error = StringIO.new
      stdout_save, stderr_save = $stdout, $stderr
      $stdout, $stderr = output, error
      begin
        yield
        [output.string, error.string]
      ensure
        $stdout, $stderr = stdout_save, stderr_save
      end
    end