API para "o software para simular respostas de terceiros" para incluir nos testes de API do seu aplicativo.
Para encaminhar automaticamente as solicitações para o mock da API existe a possibilidade de usar um HandlerStack
para Guzzle
. O HandlerStack
verifica se uma solicitação já foi salva e caso contrário, a solicitação será enviada para o host correto e então a resposta será armazenada em cache, para que na próxima vez uma solicitação seja enviada para a API simulada e a resposta armazenada em cache será devolvido.
<?php//...$apiMockClient = new GuzzleHttpClient([/*...*/]);$apiMock = new ApiMockCoreApiMock($apiMockClient);$proxyStack = new ApiMockProxyProxyStack($apiMock);$myDefaultClient = novo GuzzleHttpClient ([/*...*/'manipulador' => $proxyStack, ]);// Será enviado para example.org$myDefaultClient->get('https://example.org', []);// Será enviado para API Mock$myDefaultClient->get('https:/ /exemplo.org', []);
ApiMock::getClientRequest()
recebe um 404/null A) A requisição em questão nunca foi chamada pela sua aplicação, portanto uma requisição com requestKey nunca foi registrada. Certifique-se de ApiMock::addResponse()
na ordem correta. Talvez uma das respostas anteriores não corresponda às expectativas do seu aplicativo e faça com que ele falhe?
B) Suas solicitações para API Mock usam chaves de sessão diferentes (ou nenhuma). Por exemplo, isso pode acontecer se partes da sua aplicação forem executadas de forma assíncrona (por exemplo, em filas). Use o recurso $sessionCacheFile para recuperar a chave de sessão correta. (forneça um caminho de arquivo onde o API Mock possa despejar a chave de sessão usada atualmente e recuperá-la em seu aplicativo).