使用此命令在黄瓜中使用Ruby gem Parallel_Tests运行多个功能时:
parallel_cucumber features/
在我的项目root> config文件夹下有一个cucumber.yml文件,它看起来像:
default: --format html --out report<%= ENV['TEST_ENV_NUMBER'] %>.html
我收到以下错误消息:
cucumber.yml was found, but could not be parsed. Please refer to cucumber's documentation on correct profile usage.
我已经调查了这个,其他一些人认为这是由于rerun.txt文件,但我没有创建这个文件,项目文件搜索没有返回任何内容。我目前正在失去导致黄瓜在yaml文件中读取失败的原因。任何帮助都会很棒。
如另一篇文章所述,我进入了lib / cucumber / cli / profile_loader.rb并添加了一个STDERR输出:
begin
@cucumber_yml = YAML::load(@cucumber_erb)
rescue StandardError => e
STDERR.puts @cucumber_erb
raise(YmlLoadError,"cucumber.yml was found, but could not be parsed. Please refer to cucumber's documentation on correct profile usage.\n")
end
结果如下:
#parallel_reports: --format html --out reports/cukes_.html
cucumber.yml was found, but could not be parsed. Please refer to cucumber's documentation on correct profile usage.
#
default: --format htm#l
-
oduetf aruelpto:r t-2-.fhotrmmla #hptamrla l-l-eolu_tr erpeoprotrst:4 .-h-tfmolr a#tp ahrtamlll e-l-_oruetp orretpso:r t-s-/fcourkmeast_ .hhttmmll - ouctu cruempboerrt.sy/mclu kweass_ .fhotumnld, buctu ccuomubledr .nyomtl bwea sp afrosuendd., Pblueta sceo urledf enro tt ob ec upcaurmsbeedr.' sP ldeoacsuem ernetfaetri otno ocnu ccuomrbreerc'ts pdroocfuimleen tu astaigoen.
n correct profile usage.
答案 0 :(得分:3)
我偶然发现了这个问题,但只找到了建议删除rerun.txt
的解决方案。这对我来说不是一个选择,因为我依靠该文件来重新运行失败的场景。
由于某些原因,Cucumber输出\n
中由rerun.txt
分隔的失败方案,而cucumber.yml
中的默认命令不接受该方案。
我的解决方案是将cucumber.yml
的第一行更改为用空格替换\n
:
rerun = File.file?('rerun.txt') ? IO.read('rerun.txt').gsub(/\n/, ' ') : ""
答案 1 :(得分:0)
我对Rails-Cucumber本身的测试也有同样的问题。在我的情况下,只需运行此行就可以解决问题:
rm .cucumber.rerun
注意,有时rerun
文件可以有不同的名称。
答案 2 :(得分:0)
有人建议使用gem update -system
答案 3 :(得分:0)
对我来说,错误
cucumber.yml was found, but could not be parsed with ERB
表示我正在从RubyMine运行测试,并且未将Features folder
设置为项目的根目录,而是将其设置为项目中的一个子文件夹features
。
当我将其更改为项目的根目录时,一切正常!