Eu tive esse mesmo problema e a correção foi colocar o seguinte no meu arquivo spec_helper.rb
:
require 'rubygems'
na parte superior do arquivo. Eu consegui executar $ rake rspec
com êxito.
Eu não tenho experiência prévia em todos os rubis. Eu não estou interessado em ruby (e por isso não tenho conhecimento de trilhos etc) como tal, mas estou usando fantoche para gerenciar um grupo de servidores. Eu escrevi alguns módulos e o sistema rspec-puppet parece ser muito útil.
No entanto, não consigo fazer o rspec-puppet funcionar
Estou usando o Ubuntu LTS 10.04
Eu instalei o puppet rspec usando as instruções em sua página da web
O que eu realmente fiz
apt-get install rubygems # (installs 1.8)
gem install rspec-expectations
gem install rspec-puppet
Eu também instalei o librspec-ruby1.8
Então eu executei o rspec-puppet-init em um diretório de módulos de fantoches que eu já fiz (é um módulo de fantoche de trabalho)
Eu fiz um arquivo conforme definido no tutorial
$ more spec/defines/rule_spec.rb
require 'spec_helper'
describe 'vanusers::rule' do
let(:title) { 't1' }
it { should contain_class('vanusers::JamieA') }
end
mas quando eu tento executá-lo há um misterioso problema de dependência
$ 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
Aqui está a solução que encontrei no final:
apt-get install rubygems
gem install rspec-expectations rspec-puppet puppet-lint puppetlabs_spec_helper
para que seu caminho pegue as coisas da gema
export PATH=/var/lib/gems/1.8/bin:$PATH
cd no módulo e
rm spec/spec_helper.rb
rspec-puppet-init
substitua o Rakefile por
require 'rake'
require 'rspec/core/rake_task'
require 'puppetlabs_spec_helper/rake_tasks'
Em seguida, "rake spec" para executar testes ou "rake lint" para verificar arquivos
link foi uma excelente fonte de informação
Eu tive esse mesmo problema e a correção foi colocar o seguinte no meu arquivo spec_helper.rb
:
require 'rubygems'
na parte superior do arquivo. Eu consegui executar $ rake rspec
com êxito.