我想使用 chefspec 来测试我的食谱的幂等性。
假设我有一个包含这两个资源语句的配方:
file '/etc/app.config' do
action :create
notifies :restart, "service[app]"
end
service 'app' do
action :enable
end
我如何编写一个chefspec示例来证明,如果文件/etc/app.config
已经存在,那么app
服务将不会被通知重新启动?
是否有一些嘲笑我可以这样做,以便“文件”资源认为该文件已经存在?我可以运行 ChefSpec::ServerRunner 两次,保持第一次运行的状态(我假设不会,因为文件不会真正创建)?或者我会被迫使用 test-kitchen 和 Vagrant 来为 realz 做事吗?
(注意:我的实际食谱有一个构建配置文件的自定义 LWRP。它从厨师服务器获取信息,这就是我使用 ServerRunner 的原因)