Тестирование rspec-puppet завершается неудачей из-за недоступных драгоценных камней

Я пытаюсь написать тесты для тестирования rspec-puppet.

Модуль имеет следующее дерево:

 |-- manifests
    |   `-- test_file.pp
    |-- Rakefile
    `-- spec
        |-- classes
        |-- defines
        |   `-- test_file_spec.rb
        |-- fixtures
        |   |-- manifests
        |   |   `-- site.pp
        |   `-- modules
        |       `-- test
        |           |-- files -> ../../../../files
        |           |-- lib -> ../../../../lib
        |           |-- manifests -> ../../../../manifests
        |           `-- templates -> ../../../../templates
        |-- functions
        |-- hosts
        `-- spec_helper.rb 

Я получаю следующую ошибку, когда запускаю "rake rspec"

(in /etc/puppetlabs/puppet/modules/offshore/test)
rake aborted!
no such file to load -- rspec/core/rake_task
/etc/puppetlabs/puppet/modules/offshore/test/Rakefile:2
(See full trace by running task with --trace)

Когда я запускаю "rake spec --trace", это дает следующее:

rake aborted!
no such file to load -- rspec/core/rake_task
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
/etc/puppetlabs/puppet/modules/offshore/test/Rakefile:2
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2382:in `load'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2382:in `raw_load_rakefile'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2016:in `load_rakefile'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2067:in `standard_exception_handling'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2015:in `load_rakefile'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:1999:in `run'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2067:in `standard_exception_handling'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:1997:in `run'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/bin/rake:31
/usr/bin/rake:19:in `load'
/usr/bin/rake:19

Может ли кто-нибудь помочь мне с его настройкой?


person Puppeteer    schedule 28.05.2015    source источник
comment
Вы можете найти это полезным: stackoverflow.com/a/31128450/2180697   -  person kaizenCoder    schedule 08.07.2015


Ответы (1)


Вам нужен Gemfile со следующим содержимым в корне вашего модуля:

source 'http://rubygems.org'

group :test do
  gem 'rake'
  gem 'puppet', ENV['PUPPET_VERSION'] || '~> 3.4.0'
  gem 'puppet-lint'
  gem 'rspec-puppet', :git => 'https://github.com/rodjek/rspec-puppet.git'
  gem 'puppet-syntax'
  gem 'puppetlabs_spec_helper'
  gem 'simplecov'
  gem 'metadata-json-lint'
end

Затем запустите bundle install

Затем запустите bundle exec rake spec

Также есть полезный инструмент puppet-retrospec, который автоматически добавит спецификации к существующему модулю: https://github.com/logicminds/puppet-retrospec, это может вам помочь.

person Peter Souter    schedule 07.07.2015