Publié par Maxence le mar, 28/02/2012 - 14:42
Zend_Test fournit une série de méthodes commençant par assertQuery qui permettent d'examiner le DOM de la réponse. La syntaxe des requêtes est identique à celle utilisée pour les sélecteurs CSS. Voici quelques exemples d'utilisation.
Publié par Maxence le dim, 13/03/2011 - 16:35
Lors d'un test unitaire, il peut arriver que la soumission d'un formulaire échoue. Cela peut être du au passage via POST d'une valeur qui n'est pas considérée comme valide par le formulaire. Pour identifier la source du problème, vous êtes obligé d'examiner la réponse HTML pour retrouver d'éventuels messages d'erreurs, ce qui n'est pas très pratique. Le mieux ce serait de retrouver l'objet form qu'on a passé à la vue. C'est possible en passant par le ViewRenderer :
<?php
$vr = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');
$view = $vr->view;
$form = $vr->form;
?>
Vous pouvez ensuite utiliser la méthode getMessages pour récupérer les messages d'erreur et les afficher sur la console :
<?php
$this->assertXXX(..., print_r($form->getMessages(), true));
?>
Publié par Maxence le sam, 09/01/2010 - 17:05
Une petite astuce pour tester un contrôleur qui génère du PDF. Pour s'assurer que c'est bien du PDF qui est envoyé, on peut utiliser Zend_Pdf qui est capable de charger un document existant :
<?php
$this->dispatch('/moncontrolleur/1/pdf');
$this->assertResponseCode(200);
$this->assertHeaderContains('Content-type', 'application/pdf');
$pdf = Zend_Pdf::parse($this->getResponse()->getBody());
$this->assertEquals('MonProgramme', $pdf->properties['Creator']);
?>
Si le PDF n'est pas correct, Zend_Pdf lancera une exception : Zend_Pdf_Exception: File is not a PDF. On peut également vérifier les propriétés du PDF et le nombre de pages. Par contre, on ne peut pas accéder au contenu du PDF pour vérifier le texte qu'il contient.
Publié par Maxence le ven, 15/05/2009 - 09:57
J'avais un test unitaire basé sur Zend_Test qui ne s'exécutait pas. La seule sortie que j'obtenais c'était l'entête PHPUnit :
Publié par Maxence le mar, 18/11/2008 - 17:11
Ceci étant fait, on va créer notre suite de tests. Ajoutez un répertoire test à la racine de votre application et placez-y le code suivant.
/test/AllTests.php
Publié par Maxence le lun, 20/10/2008 - 17:02
Le composant Zend_Test permet de réaliser des tests unitaires sur les applications utilisant le modèle MVC. Nous allons voir comment mettre en place des suites de tests qui nous permettront de vérifier le bon fonctionnement de notre application.