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

我在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。

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

您可以在Gemfile使用组: http : Gemfile

需要特定组中的gem,注意命名组之外的gem位于:default组中

 Bundler.require(:default, :development) 

需要默认gem,以及与当前Rails环境名称相同的组中的gem

 Bundler.require(:default, Rails.env) 

限制要添加到加载路径的gem组。 只有这些组中的gem才是必需的

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

你能安装gem并要求吗?

 $ gem install my_gem 

并在testfile中:

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