2015-05-28 3 views
1

Я пытаюсь написать тесты для rspec-кукольного тестирования.rspec-кукольное тестирование терпит неудачу из-за недоступных драгоценных камней

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

|-- 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 

Я получаю ошибку ниже, когда я запускаю «грабли» 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) 

Когда я запускаю «грабли спецификации --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 

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

+0

Возможно, вам это будет полезно: http://stackoverflow.com/a/31128450/2180697 – kaizenCoder

ответ

0

Вам нужен 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, это может вам помочь.