我试图让警卫跳过一些测试(那些需要硒才能运行的测试)。我已经向它们添加了 browser_required 标记,并使用“--tag ~browser_required”运行 rspec 将它们过滤掉。
但是我不能让守卫不运行它们,我在守卫文件中设置了 :cli => "--tag ~browser_required" 。这是我的完整保护文件http://pastebin.com/pGuWAQm8
我试图让警卫跳过一些测试(那些需要硒才能运行的测试)。我已经向它们添加了 browser_required 标记,并使用“--tag ~browser_required”运行 rspec 将它们过滤掉。
但是我不能让守卫不运行它们,我在守卫文件中设置了 :cli => "--tag ~browser_required" 。这是我的完整保护文件http://pastebin.com/pGuWAQm8
在您的要点中,它确实有两个 rspec 块(一个带有 cli,另一个没有)。也许删除第二个至少会让这个工作。
检查我的配置:https ://github.com/lucassus/locomotive/blob/master/Guardfile
您可以将 cli 参数传递给 rspec 命令,并使用--filter
您可以拒绝某些规范的选项
guard 'rspec', :version => 2, :cli => "--drb --color --tag ~slow:true" {}
在您的示例中,您可以使用--tag ~js:true
该cli
选项在 Rspec 3 中已弃用。请cmd
改用。例如:
guard :rspec, cmd: "bundle exec rspec --color --tag ~speed:slow", failed_mode: :focus do
require "guard/rspec/dsl"
dsl = Guard::RSpec::Dsl.new(self)
# RSpec files
rspec = dsl.rspec
watch(rspec.spec_helper) { rspec.spec_dir }
watch(rspec.spec_support) { rspec.spec_dir }
watch(rspec.spec_files)
watch(%r{\Aapp/(.+)\.rb\z}) { |m| "spec/#{m[1]}_spec.rb" }
end
在此处阅读有关 Rspec 标签的更多信息