Hola, no consigo testear bien el formato de salida de la llamada, por más que hago y pruebo Response y JsonResponse siempre me lo devuelve en los test como text/html; charset=UTF-8
uso estas dos maneras y ninguna.
Controlador
return new Response($json, Response::HTTP_OK, array('Content-Type' => 'application/json'));
Test
$this->assertSame('application/json', $response->headers->get('Content-Type'));
o esta:
$this->assertTrue( $this->client->getResponse()->headers->contains( 'Content-Type', 'application/json' ) );
Si hago la llamada por un cliente REST si me lo manda como application/json
.
Un saludo.
Respuestas
Prueba a cambiar en tu controlador la respuesta a lo siguiente a ver si el test sigue fallando:
return new JsonResponse($json);
@javiereguiluz
Hola Javier, si, esa también la he probado, se me olvidó comentarlo, incluso así y tampoco:
return new JsonResponse($json, Response::HTTP_OK, array('Content-Type' => 'application/json'));
Saludos
@AlbertoVioque
¿No podria ser un problema del servidor? Yo acabo de configurar un IIS porque el formato JSON no lo traia configurado en los MIME types y daba un 404. Apache se puede configurar en httpd.conf y en mime.types (se incluye en httpd.conf) Un saludo
@antoniogarcia78
Hola, he intentado ponerlo y nada, el caso que solo pasa cuando se hacen test, cuando hago la llamada si me devuelve bien la cabecera.
Salu2
@AlbertoVioque