Générer une classe test pour les modules: page d'affichage simple

Retour au menu

Choix: page affichage simple

Ce template permet de verifier une action du controller sans connexion a une base de données.

Vous pouvez ici verifier en observant les variables assignes a la vue.

En générant via le builder, vous obtenez le code suivant:

  
   
public function test_index(){

       //tableau representant les parametres url a simuler, par exemple array('id'=> 22)
       $tGet=array();
       _unitTest::getRequest()->setGet($tGet);
      
       
//--Act
       //on instancie le module
       $oModuleVille=new module_ville;
       //on appelle sa methode before (pour creer le layout)
       $oModuleVille->before();
       //enfin on appelle la methode concernee
       $oModuleVille->_index();
  
       
//--Assert
       /*
       //on imagine qu'on assigne a un moment des variables
       //on peut recuperer la vue ajoute au layout a l'emplacement main

       $oViewMain=$oModuleVille->oLayout->UTgetView('main');

       //ainsi on peut verifier ces variables(assigne dans la vue )
       $this->assertEquals('valeur teste',$oViewMain->maVariable);
       */

   }
    



Vous avez en amont la possibilité de forcer les variables url

  
//tableau representant les parametres url a simuler, par exemple array('id'=> 22)
$tGet=array();
_unitTest::getRequest()->setGet($tGet);
    



Puis on instancie notre module pour tester sa methode

  
//--Act
//on instancie le module
$oModuleVille=new module_ville;
//on appelle sa methode before (pour creer le layout)
$oModuleVille->before();
//enfin on appelle la methode concernee
$oModuleVille->_index();
    



Enfin, on peut verifier le fonctionnement d'un controlleur en verifiant ce qu'il assigne a sa vue

Par exemple pour le code suivant:

  
   
public function _capitalisation(){
      
       $sVille
=_root::getParam('ville');
      
       $oView
=new _view('ville::list');
       $oView->title=strtoupper($sVille);
      
       $this
->oLayout->add('main',$oView);
   }
    



Qui donnerait en test unitaire:

  
   
public function test_capitalisation(){

       //tableau representant les parametres url a simuler, par exemple array('id'=> 22)
       $tGet=array('ville'=>'Paris');
       _unitTest::getRequest()->setGet($tGet);
              
       
//on instancie le module
       $oModuleVille=new module_ville;
       //on appelle sa methode before (pour creer le layout)
       $oModuleVille->before();
       //enfin on appelle la methode concernee
       $oModuleVille->_capitalisation();
  
       
//--Assert
       //on imagine qu'on assigne a un moment des variables
       //on peut recuperer la vue ajoute au layout a l'emplacement main

       $oViewMain=$oModuleVille->oLayout->UTgetView('main');

       //ainsi on peut verifier ces variables(assigne dans la vue )
       $this->assertEquals('PARIS',$oViewMain->title);

   }