Cucumber.yml 已找到,但无法解析Parallel_Tests



当使用黄瓜中的 Ruby gem Parallel_Tests运行多个功能时,请使用以下命令:

parallel_cucumber features/

在我的项目根>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.

我已经对此进行了调查,其他一些人认为这是由于重新运行.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.

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

由于某种原因,Cucumber 输出失败的场景,rerun.txt中用 n 分隔,cucumber.yml 中找到的默认命令不接受该场景。

我的解决方案是更改cucumber.yml的第一行,用空格代替n

rerun = File.file?('rerun.txt') ? IO.read('rerun.txt').gsub(/n/, ' ') : ""

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

rm .cucumber.rerun

警告,有时rerun文件可能具有不同的名称。

建议

使用 gem update – system

对我来说

,错误

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

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

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

相关内容

  • 没有找到相关文章

最新更新