我最近更新了我的机器上的黄瓜宝石(“黄瓜”和“黄瓜线”),遇到了几个问题.我目前正在争取的是,我的功能的所有定义的步骤都不会被黄瓜自动加载.这导致我的命令行告诉我,“我可以为我在功能中使用的每一个步骤,为这些片段的未定义步骤实现步骤定义”.
我跑了
cucumber --verbose
…并可以看到以下内容:
码:
* vendor / plugins / paperclip / cucumber / paperclip_steps.rb
但是,除非我指定要加载的文件,否则不会将任何步骤加载到Cucumber中:
cucumber -r features/step_definitions/web_steps.rb
我认为这可能只是我在应用程序结构中的“step_definitions”文件夹中创建的自定义步骤文件,但是会出现标准的“web_steps”文件也不会被加载.
会听到有人遇到这个问题的人,或者知道为什么会发生这种情况.
谢谢.
解决方法
您可以将-r功能包含在cucumber.yml文件中,以便黄瓜加载feature /目录中的所有步骤定义.附加在std_opts上面.参见下面附加的cucumber.yml文件.
<% rerun = File.file?('rerun.txt') ? IO.read('rerun.txt') : "" rerun_opts = rerun.to_s.strip.empty? ? "--format #{ENV['CUCUMBER_FORMAT'] || 'progress'} features" : "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} #{rerun}" std_opts = "--format #{ENV['CUCUMBER_FORMAT'] || 'progress'} --strict --tags ~@wip -f feature" %> default: <%= std_opts %> features wip: --tags @wip:3 --wip features rerun: <%= rerun_opts %> --format rerun --out rerun.txt --strict --tags ~@wip