Ожидаемая ошибка во время компиляции с 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
Другие вопросы по тегам