我正在构建一个引擎,我想使用 VCR 和 Webmock 进行测试。
创建引擎时生成的 Gemfile 中的文档似乎建议应该通过 gemspec 加载所有引擎的 gem,但唯一的选项是 add_dependency 和 add_development_dependency。如果我使用后者,VCR 和 Webmock 会加载到我的开发环境中,然后我必须在开发环境中显式禁用 Webmock。我宁愿不这样做,因为主机应用程序可能希望这些 gem 在开发中工作,而我的引擎禁用它们可能是出乎意料的。
显而易见的解决方案似乎是使用引擎的 Gemfile:
group :test do
gem 'vcr'
gem 'webmock'
end
这是加载仅在测试引擎时使用的 gem 的正确方法吗?
这样做有什么陷阱吗?