4

使用以下命令在黄瓜中使用 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.
4

4 回答 4

3

我偶然发现了这个问题,只找到了建议删除rerun.txt. 这对我来说不是一个选择,因为我依靠该文件来重新运行失败的场景。

出于某种原因,Cucumber 输出的失败场景由\nin rerun.txtwhich 分隔,其中的默认命令不接受cucumber.yml.

我的解决方案是更改第一行cucumber.yml替换\n为空格:

rerun = File.file?('rerun.txt') ? IO.read('rerun.txt').gsub(/\n/, ' ') : ""
于 2018-01-04T16:58:17.877 回答
0

对我来说,错误

cucumber.yml was found, but could not be parsed with ERB

意味着我正在从 RubyMine 运行我的测试,并且没有将 my 设置Features folder为项目的根目录,而是设置为项目中名为features.

当我将其更改为项目的根目录时,效果很好!

于 2019-04-09T16:40:28.747 回答
0

我对 Rails-Cucumber 本身的测试也有同样的问题。就我而言,只需运行此行即可解决问题:

rm .cucumber.rerun

注意,有时rerun文件可以有不同的名称。

于 2018-02-15T21:47:11.933 回答
0

有一个建议使用 gem update –system

于 2018-03-09T15:09:46.647 回答