VCR.py
HTTP通信レコーディングを行うライブラリ
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
VCR.pyは、HTTPリクエストを行うテストを簡素化し、高速化します。VCR.pyのコンテキストマネージャやデコレーションされた関数の中にあるコードを初めて実行したとき、VCR.pyはサポートしているライブラリを介して行われるすべてのHTTPインタラクションを記録し、それらをシリアル化してフラットファイル(デフォルトではyaml形式)に書き出します。このフラットファイルはカセットと呼ばれます。関連するコードを再度実行すると、VCR.pyは前述のカセットファイルからシリアライズされたリクエストとレスポンスを読み込み、元のテスト実行から認識したHTTPリクエストを傍受し、それらのリクエストに対応するレスポンスを返します。これは、リクエストが実際に HTTP トラフィックを発生させないことを意味し、以下のようないくつかの利点をもたらします。
オフラインでの作業が可能
完全な決定論的検定
テスト実行速度の向上
Py.test plugin for managing VCR.py cassettes.