2010-04-05 18 views
5

El tutorial Zend enumera muchas aserciones para verificar el resultado generado por una solicitud.Prueba unitaria Salida json en Zend Framework

http://framework.zend.com/manual/en/zend.test.phpunit.html

Pero todos parecen asumir que la salida es html. Necesito probar la salida json en su lugar.

¿Hay alguna afirmación útil para verificar json, o hay al menos una forma genérica para hacer afirmaciones en contra de la salida? Cualquier cosa que no dependa de la solicitud de salida de html?

Respuesta

13

No hay métodos de aserción específicos para JSON implementados en Zend_Test_PHPUnit. Sin embargo, la primera prueba que podría querer hacer es verificar que el JSON sea válido, así convertirlo a su tipo original (matriz/objeto). A partir de ese momento, estará en posición de utilizar el genérico assertions de PHPUnit para validar sus contenidos.

ACTUALIZACIÓN: Para obtener el cuerpo de la respuesta cruda que puede hacer el (Zend_Test_PHPUnit_ControllerTestCase en caso de prórroga) siguiente:

$this->getResponse()->getBody(); 
+0

Hay un objeto de respuesta que ofrece formas de comprobar si se trata de una redirección, o una excepción y por lo y ofrece analizarlo como html, pero no puedo encontrar ninguna forma de obtener la respuesta sin formato. – lyle

+0

Consulte la actualización en la respuesta. – nuqqsa

+0

Sí, eso es todo, ¡gracias! :) Siempre asumí que 'getBody' se referiría a la etiqueta de la salida html, parece que se perdió en la traducción. – lyle