繁体   English   中英

用于在子目录中运行单个黄瓜功能的Guardfile?

[英]Guardfile for running single cucumber feature in subdirectory?

我在子文件夹中组织了我的功能,如下所示:

app/
  features/
     users/
       feature1.feature
       feature2.feature

但每次我保存一个功能时,Guard都会运行我的所有功能(不仅仅是编辑过的功能)。 如何将其更改为仅运行已保存的?

这是我的Cucumber Guardfile:

guard 'cucumber', :cli => "--drb --require features/support --require features/step_definitions" do
  watch(%r{features/.+\.feature})
  watch(%r{features/support/.+})          { 'features' }
  watch(%r{features/step_definitions/(.+)_steps\.rb}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'features' }
end

Aph,答案就在文档中

了解Cucumber的配置非常重要,因为它通常是护卫黄瓜奇怪行为的起源。

Cucumber使用cucumber.yml来定义特定运行配置的配置文件。 通过:cli选项传递配置但不包含带有--profile的特定配置文件时,也会使用默认配置文件中的配置。

例如,当您使用由cucumber-rails生成的默认cucumber.yml时,默认配置文件会强制guard-cucumber始终运行所有功能,因为它会附加features文件夹。

仅从Guard配置黄瓜

如果您只想从Guard配置Cucumber,那么您应该将--no-profile传递给:cli选项。

因此,传入--no-profile for :cli选项现在可以正常工作,而且我正常行为。

因为没有阅读文档而感到羞耻!

似乎不再需要--no-profile标志,而且它导致不向控制台显示有关运行功能的任何信息(例如,尚未实现的步骤的代码片段),这绝对不是您想要的。

今天的方法似乎是使用:all_after_pass标志(在你的Guardfile中):

guard 'cucumber', :cli => '--drb', :all_on_start => false, :all_after_pass => false do

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM