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();
?>
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