gpt4 book ai didi

ruby-on-rails - 如何防止加载 RSpec 助手

转载 作者:行者123 更新时间:2023-12-04 05:49:16 25 4
gpt4 key购买 nike

我目前正在使用 Capybara 为我们的 Rails 4 应用程序编写集成测试。为了使其尽可能轻量,我编写了一个 capybara_helper.rb 文件,它位于 spec 文件夹内,用于 RSpec。

但是,每次运行 RSpec 测试时都会加载此文件,从而破坏了最初存在于测试套件中的现有 Capybara 测试的配置。

有没有办法告诉/配置 RSpec 在启动“正常”单元测试时不加载此文件?

我的集成测试使用命令 RAILS_ENV=test bundle exec rspec --tag @type:capybara 加载。我们的正常测试只是使用 rake parallel:spec[4]

运行

最佳答案

如果您将 capybara_helper 代码放入一个模块中,那么您可以将该模块包含在您的 Rails 帮助程序中,仅用于功能测试(即 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

上述方法也适用于 tagged example groups .因此,在您的情况下,我认为以下内容应该有效(对于标记有 :capybara 类型的元数据的测试)。

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

关于ruby-on-rails - 如何防止加载 RSpec 助手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33998198/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com