期望在编译时使用 ChefSpec 引发错误

Expect raised error at compile time with 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

但这并没有捕获到错误并通过测试。我反而收到编译时错误并且测试失败。

必须使用大括号when testing exception with RSpec:

it 'Throws error' do
    expect { chef_run }.to raise_error
end