シミュレートされた API インタラクション用の Python リクエスト モジュールのモック
API と対話する Python コードを包括的にテストし、リクエスト モジュールを効果的にモックするという探求重要です。ここでは、カスタム応答を使用して request.get() 呼び出しをモックするための段階的なアプローチを示します。
ステップ 1: Requests モジュールをモックする
Python のモック パッケージを利用する。カスタム関数 (mocked_requests_get) を定義して、requests.get() をオーバーライドします。この関数は、指定された URL に基づいて模擬応答を返します。この例では、さまざまな URL が特定の応答を受け取ります。
def mocked_requests_get(*args, **kwargs): if args[0] == 'aurl': return 'a response' elif args[0] == 'burl': return 'b response' elif args[0] == 'curl': return 'c response'
ステップ 2: テスト クラスでモックを作成する
テスト クラスで、モックを適用します。 Unittest.mock.patch() を使用したリクエスト モジュール:
@mock.patch('requests.get', side_effect=mocked_requests_get)
このデコレータはテスト メソッドをラップし、requests.get がカスタム関数でモックされることを保証します。
ステップ3: ビューの呼び出しと応答の確認
通常どおりビュー関数を呼び出し、予想される応答を確認します。私たちのモック関数は、レスポンスが前に定義したカスタム レスポンスと一致することを保証します:
res1 = requests.get('aurl') assert res1 == 'a response' res2 = request.get('burl') assert res2 == 'b response' res3 = request.get('curl') assert res3 == 'c response'
これらの手順に従うことで、Python テストでリクエスト モジュールを効果的にモックすることができ、さまざまな API レスポンスをシミュレートし、徹底的にシミュレートすることができます。さまざまなシナリオでコードの動作をテストします。
以上が現実的な API インタラクションのために Python のリクエスト モジュールをモックするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。