0

如果我创建一个新的 Rails (3.2.12) 应用程序。将test-unitgem 添加到我的开发、测试组和脚手架资源中。当我从 Mac console.app 运行测试时,我得到了颜色输出。

bundle exec rake test

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

bundle exec rake test TESTOPTS="--use-color"

我在我tmux.config的 with中设置了 256 种颜色set -g default-terminal "screen-256color"。知道为什么我在没有 TESTOPTS 的情况下运行 rake 任务时在 tmux 中没有颜色吗?

4

1 回答 1

1

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

要求将其识别screen扩展到包括screen-256color, 也可能是合理的。

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

runner: console
console_options:
  arguments: --use-color=yes
于 2013-02-23T05:10:20.783 回答