リクエストとレスポンスをモックする方法
はじめに
Python の単体テストにはモックが含まれることがよくあります現実世界のシナリオをシミュレートするための外部依存関係。モックを使用すると、これらの依存関係の動作を制御できるようになり、テストの安定性と予測可能性が向上します。この記事では、Python のリクエスト モジュールとその応答をモックして、効果的な単体テストを容易にする方法を説明します。
ステップ 1: リクエスト モジュールのモック
リクエスト モジュールをモックするには、標準ライブラリからのモック モジュール:
import mock
リクエスト モジュールのモック オブジェクトを作成します。テスト メソッドのセットアップ フェーズ:
mockedRequests = mock.Mock()
get() メソッドが呼び出されたときに、さまざまな URL に対して特定の応答を返すようにモックされたオブジェクトを構成します:
mockedRequests.get.side_effect = [
# First URL: Return 'a response'
mock.Mock(status_code=200, text='a response'),
# Second URL: Return 'b response'
mock.Mock(status_code=200, text='b response'),
# Third URL: Return 'c response'
mock.Mock(status_code=200, text='c response')
]
ステップ 2: ビューの呼び出し
リクエスト モジュールをモックして、リクエストを行うビュー内の関数を呼び出します:
res1 = mockedRequests.get('aurl')
res2 = mockedRequests.get('burl')
res3 = mockedRequests.get('curl')
ステップ 3: 応答の検証
リクエスト モジュールはモック化されているため、応答が期待値であるかどうかを簡単にチェックできます。 :
self.assertEqual(res1.text, 'a response')
self.assertEqual(res2.text, 'b response')
self.assertEqual(res3.text, 'c response')
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3