当使用黄瓜中的 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
的子文件夹。
当我将其更改为项目的根目录时,效果很好!