0

我想查看为test环境加载的所有 gem,包括版本和依赖项。这样的事情可能吗?

4

2 回答 2

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)
于 2013-03-19T12:42:08.743 回答
1

它应该已经在您的 Gemfile 中了

块中指定测试的任何内容都将成为您的测试环境的一部分,测试块之外但不在另一个块中的任何内容也将被加载。

所有依赖项都应该在 Gemfile.lock 中列出

编辑

好的,根据您的反馈,这应该可以满足您的需求。

Rails c test

在测试环境中打开控制台

pp Gem.loaded_specs.sort

这将按字母顺序漂亮打印所有规格

于 2013-03-19T11:51:39.943 回答