puppet rspec нет такого файла для загрузки - rspec-puppet (LoadError)

У меня нет опыта работы с рубином. Я не интересуюсь ruby ​​(и поэтому не знаю рельсов и т. Д.) Как таковой, но использую puppet для управления группой серверов. Я написал несколько модулей, и система rspec-puppet выглядит очень полезной.

Однако я не могу заставить работать rspec-puppet

Я использую Ubuntu LTS 10.04

Я установил Puppet rspec, используя указания на их веб-странице

Что Я действительно сделал

apt-get install rubygems # (installs 1.8)
gem install rspec-expectations
gem install rspec-puppet

Я также установил librspec-ruby1.8

Затем я запустил rspec-puppet-init в каталоге модулей puppet, который я уже сделал (это рабочий модуль puppet )

Я создал файл, как определено в руководстве

$ more spec/defines/rule_spec.rb 
require 'spec_helper'

describe 'vanusers::rule' do
let(:title) { 't1' }

it { should contain_class('vanusers::JamieA') }
end

, но когда я пытаюсь его запустить, возникает загадочная проблема зависимости

$ spec spec/defines/rule_spec.rb 
/home/jamie/git/puppet/modules/vanusers/spec/spec_helper.rb:1:in `require': no such file to load -- rspec-puppet (LoadError)
    from /home/jamie/git/puppet/modules/vanusers/spec/spec_helper.rb:1
    from ./spec/defines/rule_spec.rb:1:in `require'
    from ./spec/defines/rule_spec.rb:1
    from /usr/lib/ruby/1.8/spec/runner/example_group_runner.rb:15:in `load'
    from /usr/lib/ruby/1.8/spec/runner/example_group_runner.rb:15:in `load_files'
    from /usr/lib/ruby/1.8/spec/runner/example_group_runner.rb:14:in `each'
    from /usr/lib/ruby/1.8/spec/runner/example_group_runner.rb:14:in `load_files'
    from /usr/lib/ruby/1.8/spec/runner/options.rb:132:in `run_examples'
    from /usr/lib/ruby/1.8/spec/runner/command_line.rb:9:in `run'
    from /usr/bin/spec:3

Решение, которое я придумал в конце ::

apt-get install rubygems
gem install rspec-expectations rspec-puppet puppet-lint puppetlabs_spec_helper

, так что ваш путь собирает материал с драгоценными камнями

export PATH=/var/lib/gems/1.8/bin:$PATH

cd в модуль и заменяет

rm spec/spec_helper.rb

rspec-puppet-init

Rakefile с

require 'rake'
require 'rspec/core/rake_task'
require 'puppetlabs_spec_helper/rake_tasks'

Затем «rake spec» для запуска тестов или «rake lint» для проверки файлов

http://sysadvent.blogspot.co.uk/2013/ 12 / day-22-Getting-Start-Testing-Your.html был отличным источником информации

2
задан 4 June 2014 в 19:24

1 ответ

У меня была такая же проблема, и в моем spec_helper.rb файле было исправлено следующее:

require 'rubygems'

вверху файла. Тогда я смог успешно запустить $ rake rspec.

0
ответ дан 4 June 2014 в 19:24

Другие вопросы по тегам:

Похожие вопросы: