require "json"
require "selenium-webdriver"
gem "test-unit"
require "test/unit"
class Tests < Test::Unit::TestCase
$out_file = File.new('log.txt', 'w')
def $stdout.write string
$out_file.write string
super
end
当我使用上面的代码时,控制台中的输出看起来很棒,但是当它完成后,它会将所有内容转储到我的日志文件中(就像我期望的那样)但是日志文件中的格式会出现奇怪的额外字符。结束。下面的前两行是预期的,但第三行是???
首次运行 - 主要:1.998
首战 - 演练:16.527
[32;1米[0米
我一直在寻找一些选项而且我已经尝试配置test-unit.yml文件摆弄下面的格式选项,但无论我尝试什么都没有改变输出的格式
亚军:控制台 console_options: output_level:1 格式:文档 show_detail_immediately:true
答案 0 :(得分:1)
[32;1m
并且通常任何[((\d+);?)m
都是颜色转义序列。它们突出显示控制台中的输出。 [32;1m.[0m
字面上是绿点,表示测试执行成功。
有三种方法可以处理它们:
tty?
属性设置为false
这将创建一个完美的日志文件,但您将在控制台本身中丢失任何颜色突出显示。
这是一个漫长的过程,似乎对你的方法来说太过分了。
我会选择:
$out_file.write string.gsub /\[[\d;]+m/, ''
以上内容将过滤掉任何废话,您将在文件中获得普通的老式文本。