2010-04-05 8 views
5

L'Esercitazione Zend elenca molte asserzioni per controllare l'output generato da una richiesta.Test unità Uscita json in Zend Framework

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

Ma tutti sembrano dare per scontato che l'uscita è html. Ho invece bisogno di testare l'output di JSON.

Ci sono delle asserzioni utili per controllare JSON, o c'è almeno un modo generico per fare affermazioni contro l'output? Qualsiasi cosa che non si basa sulla richiesta di output html?

risposta

13

Non esistono metodi di asserzione specifici per JSON implementati in Zend_Test_PHPUnit. Tuttavia, il primo test che vorresti fare è verificare che il JSON sia valido, quindi convertirlo nel suo tipo originale (array/oggetto). Da quel momento in poi sarai in grado di utilizzare il generico assertions di PHPUnit per convalidarne il contenuto.

AGGIORNAMENTO: per ottenere il corpo di risposta grezzo è possibile effettuare le (Zend_Test_PHPUnit_ControllerTestCase quando si estende) seguente:

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

C'è un oggetto di risposta che offre modi per verificare se si tratta di un redirect, o un'eccezione e così on, e offre di analizzarlo come html, ma non riesco a trovare alcun modo per ottenere la risposta grezza. – lyle

+0

Si prega di consultare l'aggiornamento nella risposta. – nuqqsa

+0

Sì, è tutto, grazie! :) Ho sempre pensato che 'getBody' si riferisse al tag dell'output html, sembra che sia stato perso nella traduzione. – lyle