Conseils pour la réalisation des tests unitaires

Environnement CLI

N'oubliez pas que les tests se déroulent dans l'environnement CLI (sur la ligne de commande). Le serveur Web (Apache, Nginx ou autre) n'intervient pas et la variable $_SERVER ne sera pas renseignée. Il faut donc utiliser les méthodes de Zend_Controller_Request_Http :

<?php
// Ne faites pas 
$uri $_SERVER['REQUEST_URI'];

// Utilisez plutôt (dans une méthode de contrôleur)
$uri $this->_request->getRequestUri();
?>

Réinitialiser les objets entre deux requêtes

Si vous appelez à plusieurs reprises dispatch dans le même test, n'oubliez pas de réinitialiser les objets réponse et requête.

<?php
$this
->dispatch('/controleur/action1');
[..]
$this->resetRequest();
$this->resetResponse();
[..]
$this->dispatch('/controleur/action2');
?>

Ajouter un commentaire