Behat配置:如何设置output_style选项而不指定fg和bg颜色

时间:2014-04-21 21:02:20

标签: yaml behat color-blindness

我是10%的色盲男性中的一员,因此我尝试配置Behat CLI输出以更好地区分黄色和绿色线条。这通常是受支持的,但从文档来看,如果我想添加一个选项,如下划线,我还必须同时指定前景色和背景色。

http://docs.behat.org/guides/7.config.html#colors

如果我不得不冗余地定义fg颜色,我甚至不介意,但默认样式不应用bg颜色,我无法发现是否可以配置参数以便它们不会#39; t覆盖默认值。

以下是给出的例子:

default:
    formatter:
        name:               pretty
        parameters:
            output_styles:
                comment:    [ black, white, [ underscore ] ]

这大致是我之后的事情:

default:
    formatter:
        name:               pretty
        parameters:
            output_styles:
                undefined:  [ , , [ underscore ] ]

但是,如果我将前两个参数(或只是第二个参数)留空,我会收到如下错误:

[InvalidArgumentException]
    Invalid foreground color specified: "Array". Expected one of (black, red, green, yellow, blue, magenta, cyan, white)

它不是世界末日,因为我可以简单地指定fg和bg颜色,但由于默认值不使用bg颜色,它最终看起来很难看。

1 个答案:

答案 0 :(得分:1)

我通过反复试验偶然发现了答案:

default:
    formatter:
        name:               pretty
        parameters:
            output_styles:
                undefined:  [ null, null, [ underscore ] ]

使用样式并使其与记录的颜色含义保持同步(请参阅http://docs.behat.org/guides/2.definitions.html#step-execution-result-types)后,我想出了以下设置,这些设置适用于深色和浅色终端配色方案,并且也使用非-color样式来区分结果类型:

default:
    formatter:
        name:               pretty
        parameters:
            output_styles:
              passed:                       [ white, green ]
              passed_param:                 [ white, green, [ bold ]]
              undefined:                    [ yellow, null, [ underscore, bold ]]
              pending:                      [ yellow, null, [ underscore ]]
              pending_param:                [ yellow, null, [ underscore, bold ]]
              failed:                       [ white, red ]
              failed_param:                 [ white, red, [ bold ]]
              skipped:                      [ cyan ]
              skipped_param:                [ cyan, null, [ bold ]]
              comment:                      [ cyan ]
              tag:                          [ cyan ]

以下是明暗终端上这些output_styles的屏幕截图:

enter image description here