Я пытаюсь проверить свой spe c тест с bundle exec rspec
для следующего теста
require 'spec_helper'
describe 'my_recipe::default' do
windows_platforms = {
windows: %w(2008R2 2012 2012R2 2016 2019)
}
windows_platforms.each do |platform, versions|
versions.each do |version|
context "When all attributes are default, on #{platform} #{version}" do
let(:chef_run) do
runner = ChefSpec::ServerRunner.new(platform: platform.to_s, version: version) do |node|
node.override['domain'] = 'mydomain.com'
end
runner.converge(described_recipe)
end
it 'converges successfully' do
expect { chef_run }.to_not raise_error
end
end
end
end
end
Вот пример моего файла атрибутов по умолчанию:
default['wsus'] =
case node['domain']
when 'mydomain.com'
"do something"
else
raise 'Domain cannot be determined.'
end
From то, что я понимаю, «mydomain.com» должно быть назначено по умолчанию ['domain'], но похоже, что это не так.
Вот ошибка, которую я получаю:
expected no Exception, got #<RuntimeError: Domain cannot be determined.> with backtrace:
У кого-нибудь есть предложение, почему тест не принимает переопределенный атрибут?
ps Если я не понимаю, пожалуйста, извините. Это мой первый пост на stackoverflow: (