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

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-8.2.1.tar.gz (90.5 kB view details)

Uploaded Source

Built Distribution

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

vcrpy-8.2.1-py3-none-any.whl (44.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: vcrpy-8.2.1.tar.gz
  • Upload date:
  • Size: 90.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for vcrpy-8.2.1.tar.gz
Algorithm Hash digest
SHA256 d73a6e4eb6dae8148e659764b7a00e68cc51ba29ba9e6a85e1f0790ad96b97df
MD5 088d73a30e6db59e70770eb54db81bbb
BLAKE2b-256 08db08183b845b0040bb877dad2bd7e4e0976fc232bb3476d7ee369c6c4f8b5a

See more details on using hashes here.

File details

Details for the file vcrpy-8.2.1-py3-none-any.whl.

File metadata

  • Download URL: vcrpy-8.2.1-py3-none-any.whl
  • Upload date:
  • Size: 44.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for vcrpy-8.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7ce58c9e2792b246f79d6f4b3e9660676cc6f853be17e1547305b4437ab1ff85
MD5 7ba4235585ea73927bcdce5ae3f4bf5b
BLAKE2b-256 f87c0e812ab83f5289404c674f3461ba783250b967d34b5ab034d361236ec042

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