簡體   English   中英

如何防止加載RSpec助手

[英]How to prevent RSpec helper from being loaded

我正在為我們的Rails 4應用程序與Capybara編寫集成測試。 為了使其盡可能輕,我編寫了一個capybara_helper.rb文件,該文件位於要與RSpec一起使用的spec文件夾中。

但是,每次RSpec測試運行時都會加載此文件,從而破壞最初存在於測試套件中的現有Capybara測試的配置。

有沒有辦法告訴/配置RSpec在啟動“正常”單元測試時不加載此文件?

我的集成測試加載了命令RAILS_ENV=test bundle exec rspec --tag @type:capybara 我們的正常測試只是使用rake parallel:spec[4]

如果將capybara_helper代碼放入模塊中,則可以將模塊包含在rails helper中,僅用於功能測試(即capybara測試):

spec / support / capybara_helper.rb

module CapybaraHelper
  # Your code
end

rails_helper.rb中 ,僅包含要素測試的模塊:

Dir[Rails.root.join('spec', 'support', '**', '*.rb')].each { |f| require f }
RSpec.configure do |config|
  config.include CapybaraHelper, type: :feature
end

上述方法也適用於標記的示例組 因此,在您的情況下,我認為以下內容應該有效(對於使用類型:: capybara的元數據標記的測試)。

RSpec.configure do |config|
  config.include CapybaraHelper, type: :capybara
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM