Skip to main content

Automatically mock your HTTP interactions to simplify and speed up testing

Project description

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


vcr.py logo

This is a Python version of Ruby’s VCR library.

Source code

https://github.com/kevin1024/vcrpy

Documentation

https://vcrpy.readthedocs.io/

Rationale

VCR.py simplifies and speeds up tests that make HTTP requests. The first time you run code that is inside a VCR.py context manager or decorated function, VCR.py records all HTTP interactions that take place through the libraries it supports and serializes and writes them to a flat file (in yaml format by default). This flat file is called a cassette. When the relevant piece of code is executed again, VCR.py will read the serialized requests and responses from the aforementioned cassette file, and intercept any HTTP requests that it recognizes from the original test run and return the responses that corresponded to those requests. This means that the requests will not actually result in HTTP traffic, which confers several benefits including:

  • The ability to work offline

  • Completely deterministic tests

  • Increased test execution speed

If the server you are testing against ever changes its API, all you need to do is delete your existing cassette files, and run your tests again. VCR.py will detect the absence of a cassette file and once again record all HTTP interactions, which will update them to correspond to the new API.

Usage with Pytest

There is a library to provide some pytest fixtures called pytest-recording https://github.com/kiwicom/pytest-recording

License

This library uses the MIT license. See LICENSE.txt for more details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vcrpy-6.0.2.tar.gz (85.5 kB view details)

Uploaded Source

Built Distribution

vcrpy-6.0.2-py2.py3-none-any.whl (42.4 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file vcrpy-6.0.2.tar.gz.

File metadata

  • Download URL: vcrpy-6.0.2.tar.gz
  • Upload date:
  • Size: 85.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.9

File hashes

Hashes for vcrpy-6.0.2.tar.gz
Algorithm Hash digest
SHA256 88e13d9111846745898411dbc74a75ce85870af96dd320d75f1ee33158addc09
MD5 67c4b26974f26e35bcadc40eca796570
BLAKE2b-256 164efff59599826793f9e3460c22c0af0377abb27dc9781a7d5daca8cb03da25

See more details on using hashes here.

File details

Details for the file vcrpy-6.0.2-py2.py3-none-any.whl.

File metadata

  • Download URL: vcrpy-6.0.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 42.4 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.9

File hashes

Hashes for vcrpy-6.0.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 40370223861181bc76a5e5d4b743a95058bb1ad516c3c08570316ab592f56cad
MD5 7625892d3b95215168a191bfa6e9f164
BLAKE2b-256 daed25d19705791d3fccc84423d564695421a75b4e08e8ab15a004a49068742d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page