2010-04-05 5 views
5

Le didacticiel Zend répertorie plusieurs assertions pour vérifier la sortie générée par une requête.Unité Test json de sortie dans Zend Framework

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

Mais ils semblent tous supposer que la sortie est html. J'ai besoin de tester la sortie de JSON à la place.

Y at-il des assertions utiles pour vérifier json, ou y at-il au moins une façon générique de faire des assertions contre la sortie? Quelque chose qui ne repose pas sur la demande de sortie html?

Répondre

13

Il n'existe aucune méthode d'assertion spécifique à JSON implémentée dans Zend_Test_PHPUnit. Cependant, le premier test que vous voudrez peut-être faire est de vérifier que le JSON est valide, donc le convertir en son type d'origine (array/object). A partir de là, vous êtes en mesure d'utiliser le assertions générique de PHPUnit pour valider son contenu.

MISE À JOUR: Pour obtenir le corps de réponse brute, vous pouvez effectuer les opérations suivantes (lors de l'extension Zend_Test_PHPUnit_ControllerTestCase):

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

Il y a un objet de réponse qui offre des moyens de vérifier si elle est une redirection, ou une exception, etc. sur, et propose de l'analyser en HTML, mais je ne trouve aucun moyen d'obtenir la réponse brute. – lyle

+0

S'il vous plaît voir la mise à jour dans la réponse. – nuqqsa

+0

Oui, c'est ça, merci! :) J'ai toujours supposé que 'getBody' se réfèrerait à la balise de la sortie html, on dirait que cela a été perdu dans la traduction. – lyle