1
我是單元測試和chefspec的新手。我試圖嘲弄/從相關庫攔截在配方中的函數調用如何在chefspec中爲另一個類擴展的對象實例模擬函數調用
圖書館
module Helper def do_something_useful return "http://example.com/file.txt" end end
配方
remote_file '/save/file/here' do extend Helper source do_something_useful end
我已經試過如下:
Chefspec
allow_any_instance_of(Chef::Resource::RemoteFile).to receive(:do_something_useful).and_return('foobar') allow_any_instance_of(Chef::Resource).to receive(:do_something_useful).and_return('foobar')
我自己也嘗試了雙嘲諷:
helper = double Helper.stub(:new).and_return(helper) allow(helper).to receive(:do_something_useful).and_return('foobar')
這種失敗
uninitialized constant Helper