gpt4 book ai didi

ruby-on-rails - rails 引擎 : Where to define gems only used in testing

转载 作者:行者123 更新时间:2023-11-28 20:56:09 24 4
gpt4 key购买 nike

我正在构建一个引擎,我想使用 VCR 和 Webmock 进行测试。

Gemfile generated when an engine is created 中的文档,似乎建议所有引擎的 gem 都应该通过 gemspec 加载,但唯一的选择是 add_dependency 和 add_development_dependency。如果我使用后者,VCR 和 Webmock 会加载到我的开发环境中,然后我必须在开发环境中明确禁用 Webmock。我宁愿不这样做,因为主机应用程序可能希望这些 gem 在开发中工作,而我的引擎禁用它们可能是意外的。

显而易见的解决方案似乎是使用引擎的 Gemfile:

group :test do
gem 'vcr'
gem 'webmock'
end

这是加载仅在测试引擎时使用的 gem 的正确方法吗?

这样做有什么陷阱吗?

最佳答案

著名的 Rails 引擎之一 rails_admin ( https://github.com/sferik/rails_admin ) 使用了这种方法,所以我相信它可以被认为是一种很好的做法。

关于ruby-on-rails - rails 引擎 : Where to define gems only used in testing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17543385/

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