|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
![]() ![]() Alain Sahli Ingénieur développement logiciels Inscription : décembre 2004 Messages : 1 086 ![]() |
Bonjour,
Je vais me lancer dans le développement d'un projet assez conséquent et je vais donc implémenter des tests unitaires à l'aide de PHPUnit. Seulement je vois pas comment utiliser PHPUnit avec le Zend Framework! Car je ne sais pas comment tester mes actions, elles ne prennent pas de paramètres et pour instancier un contrôleur je n'y arrive pas vraiment étant donné que je dois passer des paramètres que je ne connais pas. Est-ce que quelqu'un à déjà utiliser les deux ? Merci.
__________________
Blog - Mon espace developpez - Vous voulez un site internet ? eZ Publish Certified developer |
|
00
|
|
|
#2 |
![]() ![]() Inscription : juin 2003 Messages : 4 893 ![]() |
la dernière fois que j'ai utilisé PHPUnit j'ai seulement fais des tests sur les "objets métiers".
Normalement les contrôleurs doivent contenir des simples appels aux objets sans tests ou calculs compliqués PS : je précise que je n'ai pas utilisé le Zend Framework, je parle dans le cas général d'un architecture MVC
__________________
Modérateur PHP |
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() Étudiant Inscription : novembre 2005 Messages : 85 ![]() |
hello,
http://framework.zend.com/manual/fr/requirements.html -> il y a déjà des test dans zf, donc regarde comment ceux-ci sont effectués .... sinon j'ai trouver ceci : http://kayneteo.blogspot.com/2006/07...unit2-for.html en espérant que cela t'aide |
|
|
00
|
|
|
#4 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2007 Messages : 41 ![]() |
J'up le sujet pour savoir si quelqu'un utilise PHPUnit avec Zend Framework.
Personnellement, j'aimerais bien... J'ai essayé de faire le tuto ici: http://tulsaphp.net/node/40 mais ça ne fonctionne apparemment pas... |
|
|
00
|
|
|
#5 |
![]() ![]() Jean-Pierre Inscription : août 2005 Messages : 333 ![]() |
Salut Yoteco,
Figure-toi que je suis sur le sujet depuis un bon bout de temps ...Au minimum, tu devrais tester les objets métiers (la partie "Modèle" du motif MVC). Pour ma part je considère que même si les contrôleurs ne servent (en théorie) que de synchro entre les vues et les modèles, il faut les tester; y compris et surtout les annexes tels que les plugins ou les helpers. Les dév de chez ZF on tout prévu pour ça, et j'en suis le premier ravi : Par exemple ... pour simuler un dispatch, tu as toutes les classes à disposition : Request, Response, etc. Elles te permettent de créer un environnement d'exécution de toute pièce. Exemple pour tester un plugin... : Paramètrage du front controller Code PHP : $this->_front = Zend_Controller_Front::getInstance(); $this->_front->resetInstance(); $this->_front->setControllerDirectory(dirname(__FILE__) . DIRECTORY_SEPARATOR . '_files'); $this->_front->setParam('noErrorHandler', true); $this->_front->setParam('noViewRenderer', true); $this->_front->returnResponse(true); $this->_front->throwExceptions(false); $this->_front->setModuleControllerDirectoryName('controllers'); $this->_front->addModuleDirectory(dirname(__FILE__) . DIRECTORY_SEPARATOR . '_files\modules'); Zend_Controller_Action_HelperBroker::resetHelpers(); Création de l'objet Request dans ton test Code php : $request = new Zend_Controller_Request_Http('http://exemple/uri/'); // Zend_Controller_Response_Cli si tu utilises la console pour tes tests unitaires... $this->_front->registerPlugin(new TonPlugin ()); $response = $this->_front->dispatch($request, new Zend_Controller_Response_Cli()); ... A partir de ça tu peux effectuer toutes sortes d'assertions, sur la requête, le dispatcher ou la réponse ... Tu peux vérifier qu'un contrôlleur ou une action a bien été dispatché, qu'une réponse contient une exception particulière, ou un code HTTP en particulier... Bref tu peux tester tout ce qui tourne autour du flux d'exécution (Routing - Dispatching - Response). Pour les vues parcontre, il faut plutôt faire des tests fonctionnels. ... Pour implémenter des tests unitaires dans ZF, il faut être au clair avec les patterns MVC, Front Controller, Adapter, etc. Il faut savoir rédiger des tests unitaires, sans tester ce qui l'est déjà, et surtout implémenter des tests de la bonne manière. A ce sujet, il y'a ce nouvel article, qui décrit bien les mauvaises pratiques en matière de tests... Connaître le fonctionnement interne de ZF est un plus. Il faut scruter les fichiers sources, la documentation, et aussi les tests unitaires du framework qui sont une bonne source d'inspiration...
__________________
Mes articles DVP : http://jp-grossglauser.developpez.com |
|
|
00
|
|
|
#6 |
![]() ![]() Alain Sahli Ingénieur développement logiciels Inscription : décembre 2004 Messages : 1 086 ![]() |
Merci beaucoup !!!!
![]() ![]() Je commençais à déprimer car je ne trouvais pas le moyen d'implémenter mes tests! Je vais essayer tout ça et vous faire un feedback.
__________________
Blog - Mon espace developpez - Vous voulez un site internet ? eZ Publish Certified developer |
|
00
|
|
|
#7 |
![]() ![]() Alain Sahli Ingénieur développement logiciels Inscription : décembre 2004 Messages : 1 086 ![]() |
Je ne trouve pas comment passer des valeurs post au controller... si qqun sait.
__________________
Blog - Mon espace developpez - Vous voulez un site internet ? eZ Publish Certified developer |
|
00
|
|
|
#8 | |
|
Nouveau Membre du Club
![]() Inscription : janvier 2007 Messages : 41 ![]() |
Citation:
|
|
|
|
00
|
|
|
#9 | |||
|
Invité de passage
![]() Inscription : mai 2009 Messages : 1 ![]() |
Citation:
Salut ! A priori, avec Zend_Controller_Request_Http cf. l'article d'Alex Netchakov sur le test MVC Code :
|
|||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com