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 Code Style: black


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

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

vcrpy-5.1.0.tar.gz (84.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vcrpy-5.1.0-py2.py3-none-any.whl (42.0 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

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

File hashes

Hashes for vcrpy-5.1.0.tar.gz
Algorithm Hash digest
SHA256 bbf1532f2618a04f11bce2a99af3a9647a32c880957293ff91e0a5f187b6b3d2
MD5 93b0fafae3e418459db99afa3aa19e2c
BLAKE2b-256 a5eaa166a3cce4ac5958ba9bbd9768acdb1ba38ae17ff7986da09fa5b9dbc633

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for vcrpy-5.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 605e7b7a63dcd940db1df3ab2697ca7faf0e835c0852882142bafb19649d599e
MD5 6c948d77eb9be70fa01dd5b34339338d
BLAKE2b-256 2a5b3f70bcb279ad30026cc4f1df0a0491a0205a24dddd88301f396c485de9e7

See more details on using hashes here.

Supported by

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