Générer une classe test pour les modules: page d'affichage simple
Retour au menuChoix: 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);
}