如何在每个块之前运行一个仅用于RSpec中的Capybara规格?

时间:2015-04-16 04:13:39

标签: ruby-on-rails ruby rspec capybara

我有Capybara JS规格和Rack Test规格。我想只为Capybara规格设置before :each块。所有Capybara规格都是JS。

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

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

1 个答案:

答案 0 :(得分:0)

spec_helper中的这类内容应该有效:

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文件夹如下所示:

/spec
  /controllers
  /features
  /models