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 にリストされている必要があります。

編集

OK、あなたのフィードバックに基づいて、これはあなたが望むことをするはずです。

Rails c test

テスト環境でコンソールを開く

pp Gem.loaded_specs.sort

これにより、すべての仕様がアルファベット順にきれいに印刷されます

于 2013-03-19T11:51:39.943 に答える