0

我刚刚开始使用 ChefSpec 并且正在研究它允许的确切内容

我有一个安装 Sublime 并将 sublime 添加到 Windows 上的路径变量的厨师食谱:

chocolatey_package 'sublimetext3' do 
    action :upgrade 
end

windows_path node['sublime']['installation_path'] do 
    action :add 
    only_if { node['platform_family'] == 'windows' } 
end

有可能测试这样的事情吗?

例如,类似:

it 'adds sublime to the machines path variable' do 
    expect(chef_run).to set_windows_path('pathtocheck')
end

我似乎找不到任何关于此的文档,或者 ChefSpec 允许您检查的确切内容。

谢谢

4

1 回答 1

1

所以所有资源都遵循与匹配器相同的模式,$action_$resourcetype('$resourcename'). 所以在这种情况下,它将是:

expect(chef_run).to add_windows_path('pathtocheck')

确保将platformversion选项设置为 ChefSpec,以便使用 Windows Fauxhai 转储,否则only_if不会触发。(您可以platform_family?('windows')在大多数情况下使用随机提示来节省一些输入)

于 2018-03-10T11:15:11.033 回答