1

我试图让警卫跳过一些测试(那些需要硒才能运行的测试)。我已经向它们添加了 browser_required 标记,并使用“--tag ~browser_required”运行 rspec 将它们过滤掉。

但是我不能让守卫不运行它们,我在守卫文件中设置了 :cli => "--tag ~browser_required" 。这是我的完整保护文件http://pastebin.com/pGuWAQm8

4

3 回答 3

1

在您的要点中,它确实有两个 rspec 块(一个带有 cli,另一个没有)。也许删除第二个至少会让这个工作。

于 2012-09-25T11:40:19.803 回答
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

于 2012-09-26T08:30:46.887 回答
0

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 标签的更多信息

于 2015-12-16T21:00:10.667 回答