Ruby on rails 测试单元使用控制台生成颜色,但不生成tmux,除非指定了--use color

Ruby on rails 测试单元使用控制台生成颜色,但不生成tmux,除非指定了--use color,ruby-on-rails,testunit,tmux,Ruby On Rails,Testunit,Tmux,如果我创建一个新的Rails(3.2.12)应用程序。将测试单元gem添加到我的开发、测试组,然后添加到搭建的资源中。当我从Mac console.app运行测试时,我会得到颜色输出 bundle exec rake test 当我为应用程序创建tmux会话(在console.app中)并运行完全相同的命令时。我没有颜色输出。但是,如果我通过了“-use color”开关,那么我确实可以在tmux中获得测试的颜色输出 bundle exec rake test TESTOPTS="--use-

如果我创建一个新的Rails(3.2.12)应用程序。将
测试单元
gem添加到我的开发、测试组,然后添加到搭建的资源中。当我从Mac console.app运行测试时,我会得到颜色输出

bundle exec rake test
当我为应用程序创建tmux会话(在console.app中)并运行完全相同的命令时。我没有颜色输出。但是,如果我通过了“-use color”开关,那么我确实可以在tmux中获得测试的颜色输出

bundle exec rake test TESTOPTS="--use-color"
我正在使用
set-g默认终端“screen-256color”
在我的
tmux.config
中设置256色。知道为什么在没有TESTOPTS的情况下运行rake任务时在tmux中没有获得颜色吗?

似乎测试单元通过(主要)查看术语环境变量来猜测终端是否支持颜色。不幸的是,
screen-256color
不能满足要求

要求将其对
屏幕
的识别扩展到包括
屏幕-256color
,这可能是合理的

我认为可以在配置文件中删除一些条目来提供默认参数。将加载第一个
test unit.yml
(当前目录中)或
~/.test unit.yml
(主目录中的“隐藏”文件):

runner: console
console_options:
  arguments: --use-color=yes

谢谢当名为
.test unit.yml
时,我无法使配置文件正常工作。我在测试单元帮助文档()中读到,它需要命名为
test unit.yml
(没有句点-所以我猜它不可能是隐藏文件:()。对,它只检查当前目录中的非隐藏版本,隐藏版本从主目录中读取(并且仅当当前目录中不存在非隐藏版本时)。