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.
WWW: https://pypi.python.org/pypi/vcrpy