我希望看到为test
环境加载的所有gem,包括版本和依赖项。这样的事情有可能吗?
答案 0 :(得分:2)
你可以自己动手:
require 'bundler/setup'
group = :development
deps = Bundler.environment.dependencies.select do |dep|
dep.groups.include?(group) or dep.groups.include?(:default)
end
puts "Gems included by the bundle in group #{group}:"
deps.each do |dep|
spec = dep.to_spec
puts "* #{spec.name} (#{spec.version})"
end
示例Gemfile
:
source 'https://rubygems.org'
gem 'sinatra'
gem 'thor'
group :test do
gem 'rspec'
end
group :development do
gem 'rspec'
gem 'pry'
end
示例输出:
Gems included by the bundle in group development:
* sinatra (1.4.1)
* thor (0.17.0)
* rspec (2.13.0)
* pry (0.9.12)
答案 1 :(得分:1)
它应该已经存在于你的Gemfile中
指定测试的块中的任何内容都将成为测试环境的一部分,测试块之外的任何内容都将被加载。
所有依赖项都应列在Gemfile.lock
中修改
好的,根据您的反馈,这应该做你想要的。
Rails c test
在测试环境中打开控制台
pp Gem.loaded_specs.sort
这将按字母顺序精确打印所有规格