GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

kevin1024

vcrpy – 自動的にHTTPのやりとりを模擬してテストを簡素化し、スピードアップ

投稿日:

自動的にHTTPのやりとりを模擬してテストを簡素化し、スピードアップ

VCR.py

これはRubyのVCRライブラリの Python版です。

ソースコード
https://github.com/kevin1024/vcrpy
ドキュメンテーション
https://vcrpy.readthedocs.io/

根拠

VCR.pyは、HTTP要求を行うテストを簡素化し、高速化します。 初めてVCR.pyコンテキストマネージャや装飾された関数の中にあるコードを実行すると、VCR.pyはサポートするライブラリを介して行われるすべてのHTTPインタラクションを記録し、フラットファイルにシリアライズして書き込みます(デフォルトではyaml形式) 。 このフラットファイルはカセットと呼ばれます。 該当するコードが再度実行されると、VCR.pyは前述のカセットファイルからシリアル化されたリクエストと応答を読み取り、元のテスト実行から認識したHTTPリクエストを傍受し、それらのリクエストに対応する応答を返します。 これは、リクエストが実際にはHTTPトラフィックを引き起こさないことを意味し、次のようないくつかの利点があります。

  • オフラインで作業する能力
  • 完全に確定的なテスト
  • テスト実行速度の向上

あなたがテストしているサーバーがAPIを変更した場合は、既存のカセットファイルを削除してテストを再実行するだけです。 VCR.pyはカセットファイルがないことを検出し、再びすべてのHTTPインタラクションを記録します。これにより、新しいAPIに対応するように更新されます。

サポート

VCR.pyは、以下のHTTPクライアントでうまく動作します:

  • リクエスト
  • aiohttp
  • urllib3
  • 竜巻
  • urllib2
  • boto3

ライセンス

このライブラリはMITライセンスを使用します。 詳細については、 LICENSE.txtを参照してください。







-kevin1024
-, , ,

執筆者: