作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在构建一个引擎,我想使用 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/
我是一名优秀的程序员,十分优秀!