如何检查厨师食谱中是否分配了 windows_path?
How to check if windows_path was being assigned in chef recipe?
我刚开始使用 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 允许您检查的确切内容。
谢谢
所以所有资源都遵循与匹配器相同的模式,$action_$resourcetype('$resourcename')
。所以在这种情况下它将是:
expect(chef_run).to add_windows_path('pathtocheck')
确保您将 platform
和 version
选项设置为 ChefSpec,以便您使用 Windows Fauxhai 转储,否则您的 only_if
不会触发。 (在大多数情况下,您可以使用随机提示 platform_family?('windows')
来节省一些输入)
我刚开始使用 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 允许您检查的确切内容。
谢谢
所以所有资源都遵循与匹配器相同的模式,$action_$resourcetype('$resourcename')
。所以在这种情况下它将是:
expect(chef_run).to add_windows_path('pathtocheck')
确保您将 platform
和 version
选项设置为 ChefSpec,以便您使用 Windows Fauxhai 转储,否则您的 only_if
不会触发。 (在大多数情况下,您可以使用随机提示 platform_family?('windows')
来节省一些输入)