2

有没有办法用测试值存根方法调用?例如,我希望 get_folder_name 在我的 ChefSpec 测试期间返回“test”

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
4

1 回答 1

0

所以问题可能是因为该方法是这样声明的,它会不断覆盖存根。您可以尝试allow_any_instance_of(Chef::Resource::Directory)或类似,但我可能会将此逻辑移至自定义资源,在那里它可以更自然地存根。

于 2017-04-04T02:11:30.493 回答