Ошибка Chef Exec Rspec: неинициализированная константа Chef :: ReservedNames :: Win32 :: Security - PullRequest
0 голосов
/ 04 июля 2019

Я пишу код для запуска ресурса "windows_task" на сервере Windows."Chef exec rspec" выдает сбои.

Я пытаюсь запустить модульное тестирование на ресурсе windows_task, но получаю сбои.Есть ли решение или обходной путь для этого.Моя рабочая станция - Linux-сервер EC2, но я пытаюсь протестировать ресурс для Windows.

recipes/default.rb:

windiows_task 'client' do
  run_level :highest
  command 'ipconfig.exe'
  user 'SYSTEM'
  frequency :hourly
  frequency_modifier 20
end

spec/unit/recipes/default_spec.rb:

require 'spec_helper'
describe 'windows_test::default' do
  context 'when all attributes are default to windows' do
    let(:chef_run) do
      runner = ChefSpec::ServerRunner.new(platform: 'windows', version: '2012R2')
      runner.converge(described_recipe)
  end
  it 'converges successfully' do
     expect { chef_run }.to_not raise_error
  end
 end
 at_exit {ChefSpec::Coverage.report!}
end

Фактический результатскорее неудача, чем получение успеха:

Неудачи:

   1) windows_test::default when all attributes are default to windows converges successfully.
   Failure/Error: expect { chef_run }.to_not raise_error

   expected no Exception, got #<NameError: uninitialized contstant Chef::Win32::Security
   Did you mean? SecurityError> with backtrace:
     # /tmpchefspec20190704-../cookbooks.windows_test/recipes/dafault.rb:35:in `from file`
    ----
    ----
Finished in 0.73 seconds
1 example, 1 failure

1 Ответ

0 голосов
/ 07 июля 2019

, поскольку в вашем сообщении отсутствует некоторая информация, трудно точно определить, в чем дело, но кажется, что у вас отсутствуют зависимости.

Я бы посоветовал еще раз просмотреть ваш файл spec_helper, чтобы убедиться, чтоrequire() chefspec и chef руб.

...