0
我正在为运行我的PHP单元测试的watchr
编写一个小脚本。从外部命令获取ANSI颜色的输出
当前脚本使用system()
运行测试,并将它们显示为彩色。
我试图添加libnotify
功能,但为此我需要解析输出并与regexp匹配,以便通知将显示绿色或红色。
system()
不返回输出,%x
确实返回,但puts p
不显示颜色,我需要快速查看哪些测试失败。一种选择是运行两次测试 - 一次用于在终端窗口中显示,第二次用于检查要显示的通知,但我宁愿避免它。
有没有办法来欺骗外部命令,以为它是下一个支持色彩终端上运行?我检查了测试跑步者的选择 - 没有办法强制彩色输出。 –
如果有一种方法让它在着色时运行,应该有一种方法可以打开它,对吧?因此,在测试运行代码的某处,它开启或关闭着色。也许有没有直接的命令行开关,但有代码在那里的地方。也许你可以猴子补丁。但是,如果这不是一个选项,你可以尝试Ruby中的'pty'库。它在虚拟终端中运行进程。请参阅方法#7:http://devver.wordpress.com/2009/10/12/ruby-subprocesses-part_3/ – Casper
@GermanRumm - 查看我的编辑。 – Casper