Ruby on rails 如何仅针对RSpec中的水豚规格在每个块之前运行一个?

Ruby on rails 如何仅针对RSpec中的水豚规格在每个块之前运行一个?,ruby-on-rails,ruby,rspec,capybara,Ruby On Rails,Ruby,Rspec,Capybara,我有水豚JS规格和机架测试规格。我希望在前面有一个:每个块仅适用于水豚规范。所有水豚规格均为JS 我尝试过使用before:each,js::true,但是规范没有标记为js。我将默认驱动程序设置为webkit,因此我不必将每个规范都标记为JS 那么,如何在Capybara规格上运行一个:每个,并排除机架测试规格?在您的spec\u助手中这样做应该可以: Capybara.configure do |config| config.before(:suite) do # do befo

我有水豚JS规格和机架测试规格。我希望在前面有一个
:每个
块仅适用于水豚规范。所有水豚规格均为JS

我尝试过使用
before:each,js::true
,但是规范没有标记为js。我将默认驱动程序设置为webkit,因此我不必将每个规范都标记为JS


那么,如何在Capybara规格上运行一个
:每个
,并排除机架测试规格?

在您的spec\u助手中这样做应该可以:

Capybara.configure do |config|
  config.before(:suite) do
    # do before whole test suite
  end

  config.before(:each) do
    # do before each test
  end
end
此外,将功能分开显然是一个好主意,因此您的等级库文件夹如下所示:

/spec
  /controllers
  /features
  /models

如何确定水豚的规格?目前使用:js。但是,我可以将它们放在一个单独的目录中(如功能)。或者使用一个单独的标签,比如:jasmine。