在Python中,是否存在模拟httplib响应的库?

在Python中,是否存在模拟httplib响应的库?,第1张

概述我目前正在使用 python_flickr_api为我的应用上传照片:它使用httplib来执行多部分POST请求. 问题:我想通过拦截POST请求并创建预先成功的响应来验证上传是否真的是在集成测试中发出,这样我的测试就可以完全脱机运行而不依赖于Flickr(我不想上传相同的测试图像100次,或者!) 为此,我尝试使用两个令人难以置信的库:VCRPy和HTTPretty.它们都没有解决我的问题,因 @H_403_4@ 我目前正在使用 python_flickr_api为我的应用上传照片:它使用httplib来执行多部分POST请求.

问题:我想通过拦截POST请求并创建预先成功的响应来验证上传是否真的是在集成测试中发出,这样我的测试就可以完全脱机运行而不依赖于Flickr(我不想上传相同的测试图像100次,或者!)

为此,我尝试使用两个令人难以置信的库:VCRPy和HTTPretty.它们都没有解决我的问题,因为它们都不支持httplib(httpretty最接近,只支持httplib2),我得到的错误看起来像这个:

Failure/Error: [Errno 32] broken pipe Traceback: ... file "/usr/local/lib/python2.7/site-packages/flickr_API/upload.py",line 92,in upload     r = post(UPLOAD_URL,auth.AUTH_HANDLER,args,photo_file) file "/usr/local/lib/python2.7/site-packages/flickr_API/upload.py",line 52,in post     r = multipart.posturl(url,fIElds,files) file "/usr/local/lib/python2.7/site-packages/flickr_API/multipart.py",line 19,in posturl     return post_multipart(urlparts[1],urlparts[2],line 33,in post_multipart     h.send(body) file "/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py",line 805,in send     self.sock.sendall(data) file "/usr/local/lib/python2.7/site-packages/httpretty/core.py",line 243,in sendall     return self._true_sendall(data) file "/usr/local/lib/python2.7/site-packages/httpretty/core.py",line 216,in _true_sendall     self.truesock.sendall(data,*args,**kw) file "/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/socket.py",line 224,in meth     return getattr(self._sock,name)(*args)

很明显,httpretty正在拦截但导致管道损坏.

我怎样才能解决这个问题?

@H_403_4@解决方法 我是 VCR.py的作者.我想我可能已经修复了阻止VCR使用您正在使用的flickr API库的错误.尝试在 fix-flickr-api branch中安装该版本,并告诉我这是否适合您.@H_403_4@ @H_403_4@ @H_403_4@ @H_403_4@ 总结

以上是内存溢出为你收集整理的在Python中,是否存在模拟httplib响应的库?全部内容,希望文章能够帮你解决在Python中,是否存在模拟httplib响应的库?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/langs/1192891.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存