我正试图让警卫跳过一些测试(那些需要运行硒的测试)。 我已经向他们添加了browser_required标签,并运行了带有“--tag~ browser_required”的rspec过滤掉它们。
然而,我无法控制不运行它们,我已经设置:cli =>护卫文件中的“--tag~ browser_required”。这是我的完整警卫档案http://pastebin.com/pGuWAQm8
答案 0 :(得分:1)
在你的要点中它确实有两个rspec块(一个有cli而另一个没有)。也许删除第二个将至少使这个工作。
答案 1 :(得分:0)
检查我的配置:https://github.com/lucassus/locomotive/blob/master/Guardfile
您可以将cli参数传递给rspec命令并使用--filter
选项来拒绝某些规范
guard 'rspec', :version => 2, :cli => "--drb --color --tag ~slow:true" {}
在您的示例中,您可以使用--tag ~js:true
答案 2 :(得分:0)
在Rspec 3中不推荐使用cli
选项。请改用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标记here