API para "el software para simular respuestas de terceros" para incluir en las pruebas de API de su aplicación.
Para reenviar solicitudes automáticamente al simulacro de API, existe la posibilidad de utilizar un HandlerStack
para Guzzle
. HandlerStack
verifica si una solicitud ya se ha guardado y, de lo contrario, la solicitud se enviará al host correcto y luego la respuesta se almacenará en caché, de modo que la próxima vez que se envíe una solicitud a la API simulada y la respuesta almacenada en caché será devuelto.
<?php//...$apiMockClient = nuevo GuzzleHttpClient([/*...*/]);$apiMock = nuevo ApiMockCoreApiMock($apiMockClient);$proxyStack = nuevo ApiMockProxyProxyStack($apiMock);$myDefaultClient = nuevo GuzzleHttpClient ([/*...*/'handler' => $proxyStack, ]);// Se enviará contra example.org$myDefaultClient->get('https://example.org', []);// Se enviará contra API Mock$myDefaultClient->get('https:/ /ejemplo.org', []);
ApiMock::getClientRequest()
obtiene un 404/null A) La solicitud en cuestión nunca ha sido llamada por su aplicación, por lo tanto, nunca se ha registrado una solicitud con la clave de solicitud. Asegúrese de utilizar ApiMock::addResponse()
en el orden correcto. ¿Quizás una de las respuestas anteriores no coincide con las expectativas de su aplicación y hace que falle?
B) Sus solicitudes a API Mock utilizan diferentes claves de sesión (o ninguna). Por ejemplo, esto puede suceder si partes de su aplicación se ejecutan de forma asincrónica (por ejemplo, en colas). Utilice la función $sessionCacheFile para recuperar la clave de sesión correcta. (proporcione una ruta de archivo donde API Mock pueda volcar la clave de sesión utilizada actualmente y luego recuperarla en su aplicación).