【问题标题】:cucumber - [31mFailed scenarios:[0m Console messagecucumber - [31mFailed 场景:[0m 控制台消息
【发布时间】:2017-06-24 12:53:19
【问题描述】:

我创建了一个 java-Cucumber 测试套件,并将其集成在 Jenkins 中并可以正常工作。

Mu 问题是任何脚本失败的时候。我在控制台中收到以下消息。

[31m失败场景:[0m [31mfeatures/XXXXXX.feature:5 [0m#场景:XXXXX场景大纲

20 个场景([31m1 失败[0m,[32m19 通过[0m] 52 步([31m1 失败[0m,[36m1 跳过[0m,[32m50 通过[0m] 1m22.342s。

31m、0m、36m 是什么意思。我可以从我的控制台关闭它,否则用一些颜色突出显示。请帮忙 !!提前致谢!

【问题讨论】:

  • 你能把你的黄瓜选项添加到问题中吗?
  • @RunWith(ExtendedCucumber.class) @ExtendedCucumberOptions(jsonReport = "target/cucumber.json",detailedReport = true,detailedAggregatedReport = true,overviewReport = true,toPDF = true,outputFolder = "target") @CucumberOptions(plugin = { "json:target/cucumber.json", "usage:target/cucumber-usage.json" }, features = { "classpath:features/" }, glue = { "com.package" },标签 = { "@sometagname" })
  • 顺便说一句,当我尝试通过 MAC 终端而不是通过 eclipse 执行时,我遇到了这个问题。

标签: cucumber cucumber-junit cucumber-java


【解决方案1】:

那些是不可打印的字符和标记。要关闭它,您可以将黄瓜选项单色设置为 true。

此选项可以设置为 true 或 false。如果设置为 true,则表示 Cucumber 测试的控制台输出更具可读性。如果将其设置为 false,那么控制台输出的可读性就不会达到应有的水平。默认为false。

package cucumberTest;

import org.junit.runner.RunWith;

import cucumber.api.CucumberOptions;

import cucumber.api.junit.Cucumber;

@RunWith(Cucumber.class)

@CucumberOptions(

        features = "Feature"

        ,glue={"stepDefinition"}

        ,monochrome = true

        )

public class TestRunner {

}

【讨论】:

  • 另外值得注意的是,这些控制代码是设置文本颜色的原因。例如,ESC[31m 是红色文本,32 是绿色(ESC 字符当然是不可见的)。如果您看到这些代码,则表示您的终端不支持它们。
  • 如果您从命令行运行,您可以提供参数--monochrome 以不带颜色运行。您看到的代码是ANSI color codes。您应该能够配置您的系统以正确解释它们,但我无法找到 atm。
猜你喜欢
  • 2021-03-08
  • 1970-01-01
  • 2012-05-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-01
相关资源
最近更新 更多