mirror of
https://github.com/kevin1024/vcrpy.git
synced 2025-12-09 17:15:35 +00:00
0a01f0fb5133582d9d0e931e98fe9ea0661c77bb
In order to use the new assert mechanism that returns explicit assertion failure message, all the default matchers does not return a boolean, but only do an assert statement with a basic assertion message (value_1 != value_2). The requests_match function has been refactored to use the 'get_matchers_results' function in order to have explicit failures that are logged if any. Many unit tests have been changed as the matchers does not return a boolean value anymore. Note: Only the matchers "body" and "raw_body" does not have an assertion message, the body values might be big and not useful to be display to spot the differences.
|PyPI| |Python versions| |Build Status| |Waffle Ready| |Gitter| VCR.py ====== .. image:: https://raw.github.com/kevin1024/vcrpy/master/vcr.png :alt: vcr.py This is a Python version of `Ruby's VCR library <https://github.com/vcr/vcr>`__. 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. License ======= This library uses the MIT license. See `LICENSE.txt <LICENSE.txt>`__ for more details .. |PyPI| image:: https://img.shields.io/pypi/v/vcrpy.svg :target: https://pypi.python.org/pypi/vcrpy .. |Python versions| image:: https://img.shields.io/pypi/pyversions/vcrpy.svg :target: https://pypi.python.org/pypi/vcrpy .. |Build Status| image:: https://secure.travis-ci.org/kevin1024/vcrpy.svg?branch=master :target: http://travis-ci.org/kevin1024/vcrpy .. |Waffle Ready| image:: https://badge.waffle.io/kevin1024/vcrpy.svg?label=ready&title=waffle :target: https://waffle.io/kevin1024/vcrpy .. |Gitter| image:: https://badges.gitter.im/Join%20Chat.svg :alt: Join the chat at https://gitter.im/kevin1024/vcrpy :target: https://gitter.im/kevin1024/vcrpy?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
Languages
Python
99.9%