Ожидаемая ошибка во время компиляции с ChefSpec
Моя кулинарная книга Chef вызывает ошибку времени компиляции, которую я хочу ожидать в тесте ChefSpec.
Кулинарная книга сниппет
if !windows_version.windows_server_2012_r2?
error = "Not supported on this version of Windows"
raise error
end
windows_package 'Server2012 Only Package' do
action :install
end
Фрагмент модульного теста
it 'Throws error' do
expect(chef_run).to raise_error
end
Но это не ловит ошибку и проходит тест. Вместо этого я получаю ошибку времени компиляции, и тест не пройден.
1 ответ
Решение
Вы должны использовать фигурные скобки при тестировании исключения с RSpec:
it 'Throws error' do
expect { chef_run }.to raise_error
end