api mock api
8.1
アプリケーションの API テストに含める「サードパーティの応答を模擬するソフトウェア」の API。
リクエストを API モックに自動的に転送するには、 Guzzle
のHandlerStack
使用することができます。 HandlerStack
、リクエストがすでに保存されているかどうかを確認し、保存されていない場合は、リクエストが正しいホストに送信され、レスポンスがキャッシュされるため、次回リクエストが API モックに送信され、キャッシュされたレスポンスが返されます。返されます。
<?php//...$apiMockClient = new GuzzleHttpClient([/*...*/]);$apiMock = new ApiMockCoreApiMock($apiMockClient);$proxyStack = new ApiMockProxyProxyStack($apiMock);$myDefaultClient = new GuzzleHttpClient ([/*...*/'ハンドラー' => $proxyStack、 ]);// example.org$myDefaultClient->get('https://example.org', []);// API に対して送信されます Mock$myDefaultClient->get('https:/ /example.org', []);
ApiMock::getClientRequest()
404/null を取得しますA)問題のリクエストはアプリケーションによって呼び出されたことがないため、requestKey を持つリクエストは記録されたことがありません。 ApiMock::addResponse()
正しい順序で実行してください。おそらく、以前の応答の 1 つがアプリケーションの期待と一致せず、アプリケーションが失敗する原因になっているのではないでしょうか?
B) API モックへのリクエストでは、異なるセッション キーが使用されます (またはまったく使用されません)。たとえば、アプリケーションの一部が (キュー内などで) 非同期的に実行される場合に、これが発生する可能性があります。 $sessionCacheFile 機能を使用して、正しいセッション キーを取得します。 (API Mock が現在使用されているセッション キーをダンプし、アプリケーションで取得できるファイル パスを指定します)。