我正在测试一个对Youtube-dl二进制文件进行外部调用的gem,此时测试会进行2次调用,一次是获取视频标题,另一次是下载视频:
获得标题:
def get_title
title = `#{YT_DL} --get-title #{get_url}`
title.delete("\n")
end
下载视频:
def download_video
system(YT_DL, '-o', file_path, get_url, '--no-progress')
end
这是我的测试:
describe Youruby do
include FakeFS::SpecHelpers
let(:video) {Youruby::Youtube.new('uaEJvYWc2ag')}
context 'Youtube'do
describe 'get' do
it ".video_title" do
expect(video.get_title).to eq("FFmpeg-slowmotion.1")
end
end
describe 'download' do
it ".download_video" do
FakeFS do
video.download_video
File.exists? "#{video.get_title}-#{video.get_id}.mp4"
end
end
end
end
我如何制作此通话的存根?感谢。
答案 0 :(得分:2)
您可能希望查看允许您存根HTTP请求的Excon或VCR gem。