API du « logiciel pour simuler les réponses tierces » à inclure dans les tests API de votre application.
Pour transmettre automatiquement les requêtes à l'API simulée, il est possible d'utiliser un HandlerStack
pour Guzzle
. Le HandlerStack
vérifie si une requête a déjà été enregistrée et sinon, la requête sera envoyée au bon hôte, puis la réponse sera mise en cache, de sorte que la prochaine fois qu'une requête sera envoyée à l'API simulée, et la réponse mise en cache sera restitué.
<?php//...$apiMockClient = new GuzzleHttpClient([/*...*/]);$apiMock = new ApiMockCoreApiMock($apiMockClient);$proxyStack = new ApiMockProxyProxyStack($apiMock);$myDefaultClient = new GuzzleHttpClient ([/*...*/'gestionnaire' => $proxyStack, ]);// Sera envoyé contre example.org$myDefaultClient->get('https://example.org', []);// Sera envoyé contre l'API Mock$myDefaultClient->get('https:/ /exemple.org', []);
ApiMock::getClientRequest()
obtient un 404/null A) La requête en question n'a jamais été appelée par votre application, donc une requête avec la requestKey n'a jamais été enregistrée. Assurez-vous d' ApiMock::addResponse()
dans le bon ordre. Peut-être que l'une des réponses précédentes ne correspond pas aux attentes de votre application et provoque son échec ?
B) Vos requêtes vers API Mock utilisent différentes clés de session (ou aucune). Par exemple, cela peut se produire si certaines parties de votre application s'exécutent de manière asynchrone (par exemple dans des files d'attente). Utilisez la fonctionnalité $sessionCacheFile pour récupérer la clé de session correcte. (fournissez un chemin de fichier dans lequel API Mock peut vider la clé de session actuellement utilisée, puis la récupérer dans votre application).