Bundler如何在Gemfile中单独在一个文件中单独要求gems?

时间:2014-02-12 20:26:51

标签: ruby rubygems bundler

我在rspec和mocha之间存在冲突(rspec没有使用mocha,但其他最小的测试都是。)

如果我把mocha放在我的gemfile中(即使是require:false),它也会被activesupport / test_case.rb加载:15

silence_warnings { require 'mocha/setup' }

然后导致rspec进入barf。

所以,我想在我的系统gems的test_setup文件中要求它,但我无法弄清楚如何在bundler之外加载gem。

欢迎关于如何让这些宝石玩得很好的其他想法。

2 个答案:

答案 0 :(得分:1)

您可以在Gemfilehttp://bundler.io/v1.3/groups.html

中使用群组
  

要求特定群体中的宝石,注意宝石之外的宝石   命名组位于:默认组

Bundler.require(:default, :development)  
     

需要默认宝石,以及组中的宝石   命名与当前的Rails环境相同

Bundler.require(:default, Rails.env)  
     

限制那些宝石组   您想要添加到加载路径。只有这些组中的宝石才会出现   需要的

require 'rubygems'
require 'bundler'
Bundler.setup(:default, :ci)
require 'nokogiri'

答案 1 :(得分:0)

你能安装gem并需要它吗?

$ gem install my_gem

并在testfile中:

require 'full/path/to/my_gem.rb'