使用ChefSpec在编译时期望出现错误

时间:2016-01-28 20:35:44

标签: unit-testing rspec chef chefspec

我的Chef cookbook引发了一个编译时错误,我希望在ChefSpec测试中得到这个错误。

Cookbook Snippet

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 个答案:

答案 0 :(得分:0)

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

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