【发布时间】:2015-02-27 06:42:44
【问题描述】:
我有一个这样的 ruby 类:
require 'logger'
class T
def do_something
log = Logger.new(STDERR)
log.info("Here is an info message")
end
end
还有一个测试脚本行:
#!/usr/bin/env ruby
gem "minitest"
require 'minitest/autorun'
require_relative 't'
class TestMailProcessorClasses < Minitest::Test
def test_it
me = T.new
out, err = capture_io do
me.do_something
end
puts "Out is '#{out}'"
puts "err is '#{err}'"
end
end
当我运行这个测试时,out 和 err 都是空字符串。我看到打印在 stderr 上的消息(在终端上)。有没有办法让 Logger 和 capture_io 一起玩得很好?
我使用的是纯 Ruby 环境,而不是 Ruby on Rails。
【问题讨论】: