получение неопределенного метода `_ 'для # - PullRequest
0 голосов
/ 25 июня 2018

Я получаю:

1) ntpd should contain class ntpd
 Failure/Error: is_expected.to contain_class('ntpd')

 NoMethodError:
   undefined method `_' for 
 <Puppet::Resource::Catalog::Compiler:0x00000003f03338>

когда я запускаю команду 'rake spec' для файла тестового модуля марионетки. Код в файле модульного теста прост:

require 'spec_helper'
#require 'shared_contexts'

describe 'ntpd' do

# Pre resource tests

   it 'should contain class ntpd' do
      is_expected.to contain_class('ntpd') 
   end

end

Около 18 месяцев назад этот код работал. Я недавно загрузил все необходимые гемы для запуска команды 'rake spec', так как я снова забираю проект тестирования марионеточных модулей, и теперь все, что я могу получить, - это вышеуказанная ошибка. Я провел много поисков в Интернете, но никто не сталкивался с этой конкретной ошибкой. Я в конечном итоге работаю с рубином, когда работаю с марионеткой, поэтому мои навыки владения рубином являются основными. Любая помощь или направление будет принята с благодарностью.

1 Ответ

0 голосов
/ 26 июня 2018

После дальнейших раскопок я наконец нашел ответ.Как часть драгоценных камней, которые я установил, чтобы выполнить модульное тестирование, некоторые из этих драгоценных камней установили дополнительные драгоценные камни.Камень rspec-puppet-utils установил камень puppet 5.Мы все еще используем куклу 3.8.Когда я удалил драгоценный камень puppet 5, ошибка исчезла, и модульные тесты начали работать.

...