跳转到主要内容

自动模拟HTTP交互以简化并加快测试

项目描述

PyPI Python versions Build Status Code Coverage Status Join the chat at https://gitter.im/kevin1024/vcrpy


vcr.py logo

这是Ruby的VCR库的Python版本。

源代码

https://github.com/kevin1024/vcrpy

文档

https://vcrpy.readthedocs.io/

原因

VCR.py简化并加速了进行HTTP请求的测试。第一次运行VCR.py上下文管理器或装饰函数内部的代码时,VCR.py会记录通过它支持的库发生的所有HTTP交互,并将它们序列化并写入平面文件(默认为yaml格式)。这个平面文件称为磁带。当再次执行相关的代码片段时,VCR.py将读取上述磁带文件中的序列化请求和响应,拦截从原始测试运行中识别出的任何HTTP请求,并返回与这些请求相对应的响应。这意味着请求实际上不会产生HTTP流量,这带来了以下好处

  • 可以离线工作

  • 完全可预测的测试

  • 提高测试执行速度

如果您正在测试的服务器更改了其API,您只需删除现有的磁带文件,然后再次运行测试。VCR.py将检测磁带文件的缺失,并再次记录所有HTTP交互,以更新它们以符合新的API。

与Pytest一起使用

有一个提供一些pytest插件的库,称为pytest-recording https://github.com/kiwicom/pytest-recording

许可证

此库使用MIT许可证。有关详细信息,请参阅LICENSE.txt

项目详情


发布历史 发布通知 | RSS源

下载文件

下载适用于您平台的文件。如果您不确定选择哪一个,请了解更多关于安装包的信息

源代码分发

vcrpy-6.0.1.tar.gz (84.8 kB 查看哈希值)

上传时间 源代码

构建分发

vcrpy-6.0.1-py2.py3-none-any.whl (41.9 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下机构支持