¿Cómo puedo evitar que se trunque la salida de prueba de phpunit?

1) Tests\ApiTest::testGetMetricList
GuzzleHttp\Exception\ServerException: Server error: `GET http://localhost/micobe/myproject_p4/index.php/investors/get_metric_list` resulted in a `500 Internal Server Error` response:
<br />
    <font size='1'><table class='xdebug-error xe-exception' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr (truncated...)


    /var/www/html/landing-myproject-page/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php:113
    /var/www/html/landing-myproject-page/vendor/guzzlehttp/guzzle/src/Middleware.php:65
    /var/www/html/landing-myproject-page/vendor/guzzlehttp/promises/src/Promise.php:203
    /var/www/html/landing-myproject-page/vendor/guzzlehttp/promises/src/Promise.php:156
    /var/www/html/landing-myproject-page/vendor/guzzlehttp/promises/src/TaskQueue.php:47
    /var/www/html/landing-myproject-page/vendor/guzzlehttp/promises/src/Promise.php:246
    /var/www/html/landing-myproject-page/vendor/guzzlehttp/promises/src/Promise.php:223
    /var/www/html/landing-myproject-page/vendor/guzzlehttp/promises/src/Promise.php:267
    /var/www/html/landing-myproject-page/vendor/guzzlehttp/promises/src/Promise.php:225
    /var/www/html/landing-myproject-page/vendor/guzzlehttp/promises/src/Promise.php:62
    /var/www/html/landing-myproject-page/vendor/guzzlehttp/guzzle/src/Client.php:131
    /var/www/html/landing-myproject-page/app/Http/Controllers/ApiController.php:171
    /var/www/html/landing-myproject-page/tests/ApiTest.php:31
1
vivoconunxino 9 ago. 2017 a las 18:10

2 respuestas

La mejor respuesta

Si experimentó la difícil tarea de depurar el mensaje de error (truncado ...) a través de PhpUnit, consulte la solución global a continuación.

La excepción detectada está relacionada con la versión de trago

Un try-catch alrededor de su prueba phpunit obtendría la GuzzleException $ e

Ejemplo

$ client = new GuzzleHttp \ Client (['base_uri' => ' https://foo.com/api/ ']);

try {

    $response = $client->request('GET','/v1/testYourEndpoint');

} catch (\GuzzleHttp\Exception\ClientErrorResponseException  $e) {

    var_dump($e->getResponse()->getBody()->getContents());

} catch (\GuzzleHttp\Exception\RequestException $e) {

       print_r($e->xdebug_message);
       var_dump($e->getResponse()->getBody()->getContents());

} catch (\GuzzleHttp\Exception\ClientException  $e) {

    var_dump($e->getResponse()->getBody()->getContents());

}
2
David Raleche 23 may. 2019 a las 16:38

Guzzle truncó la salida, no PHPUnit. Si está usando Laravel, puede usar dd($response->getBody()); para obtener el resultado completo.

1
Yohan 26 nov. 2017 a las 09:02