有没有办法使用测试值存根方法调用?例如,我希望get_folder_name返回' test'在我的ChefSpec测试期间
directory 'Log_Folder' do
def get_folder_name
'c:\temp\folder'
end
action :create
path get_folder_name
end
试过这个,但它并没有取代价值。
before do
allow_any_instance_of(Chef::Resource).to receive(:get_folder_name).and_return('test')
end
答案 0 :(得分:0)
所以问题可能是因为这个方法是像这样在线声明的,所以它会一直覆盖存根。您可以尝试allow_any_instance_of(Chef::Resource::Directory)
或类似的,但我可能会将此逻辑移动到自定义资源,在那里它可以更自然地存在。