skip to navigation
skip to content

vcr 0.0.9

VCR - decorator for capturing and simulating network communication

Any Python socket communication in unittests (decorated with the @vcr) and/or doctests (containing a +VCR) will be recorded on the first run and saved into a special ‘vcrtapes’ directory as single pickled file for each test case. Future test runs will reuse those recorded network session allowing for faster tests without any network connection. In order to create a new recording one just needs to remove/rename the pickled session file(s).

So pretty similar to but on socket level instead of HTTP/HTTPS level only - so therefore it should be more powerful …

Inspired by:

Why was it initiated?

Network tests tend to fail sporadically, need usually a very long time (compared to other tests) and (surprise!) require a network connection (if not mocked). This module tackles all three issues mentioned above.


Install from PyPI:

pip install -U vcr


Just decorate your unit tests with @vcr:

import unittest

import requests
from vcr import vcr

class MyTestCase(unittest.TestCase):

   def test_something(self):
       response = requests.get('')
       self.assertEqual(response.status_code, 200)

   @vcr(debug=True, overwrite=True, tape_file='python.vcr')
   def test_something_else(self):
       response = requests.get('')
       self.assertEqual(response.status_code, 200)

VCR functionality within doctests requires currently a monkey patch and the +VCR keyword somewhere within the doctest as shown in


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

File Type Py Version Uploaded on Size
vcr-0.0.9.tar.gz (md5) Source 2017-04-02 8KB