我是新来的黄瓜。当我在写一个基本的功能文件时,我使用了表。并打印相同的表值,以查看它们将如何在控制台上显示。但是,在打印值时,我可以看到一些特殊字符。它们是什么以及如何去除它们?任何想法?我在谷歌上搜索了一个解决方案,但没有找到。有人能帮帮我吗?
这是我的特征文件:特性:添加两个值添加两个值
Scenario: tesing sum values
Given input and output
When inputs <inputx> and <inputy> is given
|22|33|
|33|55|
Then output must be <output>
|55|
|88|
下面是我的Ruby文件
Given(/^input and output$/) do
puts "Given block"
end
When(/^inputs <inputx> and <inputy> is given$/) do |table|
# table is a Cucumber::Core::Ast::DataTable
puts table
end
Then(/^output must be <output>$/) do |table|
# table is a Cucumber::Core::Ast::DataTable
puts table
end
下面是控制台
的输出*** WARNING: You must use ANSICON 1.31 or higher (https://github.com/adoxa/ansicon/) to get coloured output on Windows
C:/Ruby193/bin/ruby -S bundle exec cucumber --profile default
Using the default profile...
Feature: Addding two values
Addding two values
Scenario: tesing sum values
[32mGiven input and output[0m
[36mGiven block[0m
[32mWhen inputs <inputx> and <inputy> is given[0m
[36m[0m
[36m | [32m 22[0m[0m |[0m [32m 33[0m[0m |[0m[0m
[36m | [32m 33[0m[0m |[0m [32m 55[0m[0m |[0m[0m
| [36m22[0m[0m |[0m [36m33[0m[0m |[0m
| [36m33[0m[0m |[0m [36m55[0m[0m |[0m
[32mThen output must be <output>[0m
[36m[0m
[36m | [32m 55[0m[0m |[0m[0m
[36m | [32m 88[0m[0m |[0m[0m
| [36m55[0m[0m |[0m
| [36m88[0m[0m |[0m
1 scenario ([32m1 passed[0m)
3 steps ([32m3 passed[0m)
0m6.555s
尝试将--no-color
添加到您的命令行调用或默认配置文件中。
default: --no-source --no-color --format pretty
您得到这个错误是因为cucumber试图将彩色输出打印到终端,但您的终端无法这样做。因此,这些符号是可见的。
要解决这个问题,只需在Runner (Step Definition)文件中添加monochrome = true
,您正在粘贴这个黄瓜特征文件。示例代码:
@CucumberOptions(features = {"src/test/resources/FeatureFiles/RegisterUser.feature", "src/test/resources/FeatureFiles/RegisterUserVerifyError.feature"},
glue = "com/assignment2/userreg/stepdefinations/",
tags = {"@multipleverify"}, monochrome = true, plugin = {"pretty", "html:target/cucumber-reports/cucumber-pretty"})