3. Stop au massacre !
• Coupling is the single greatest problem in large
software systems.
• Toujours penser :
●
Qu'on voudra utiliser cette classe dans un contexte
différent (en CLI par exemple !)
●
Que si, sur le moment c'est pénible, les chatons t'en
remercient
réunion technique
05/03/2010
3
4. N'introduisez pas de dépendances
• Non vraiment …
• Sinon, au plus simple
●
Injection dans le constructeur
●
Injection sur certaines méthodes
●
Notifiez un événement
●
Parlons en …
réunion technique
05/03/2010
4
8. En plus on t'aide !
• Dans les contrôleurs
●
$this->getContext()
●
$this->getPmsipilotContext()
• Dans les formulaires étendant BaseForm
●
$this->getValidUser()
●
$this->getValidContext()
réunion technique
05/03/2010
8
9. Tests unitaires
• Fatalement on peut les faire sur du code
faiblement couplé
• Face à un bug ou une évol d'une classe
●
Ecrire un test validant le comportement voulu
●
Faire le dev
• != tests fonctionnels
• En général c'est tout simple
réunion technique
05/03/2010
9
11. Tests unitaires
• On peut tester :
●
le retour de fonctions
●
Le type des objets
●
Le lancement d'exception
●
...
• Cf Adrien
• Cf test/unit
réunion technique
05/03/2010
11
12. Les tests chez PMSIpilot
• Tests unitaires
●
Bas niveau
●
Fonctionnement des classes
●
Comportements attendus et effets de bord
• Tests fonctionnels
●
Tester les données, les workflows
●
Parcourir le logiciel
• Tests d'interfaces
●
Tester le JS, la CSS
●
Sur différents navigateurs
réunion technique
05/03/2010
12
13. Selenium
• Un framework de test en Javascript (fear !)
• Conçu pour tester les interfaces
• Pour gérer les différences entre les navigateurs
• http://seleniumhq.org/projects/ide/
réunion technique
05/03/2010
13
14. Test suite
• OMG c'est hachetéheumelle !
• web/selenium/TestSuite_PMSIpilot.html
réunion technique
05/03/2010
14
15. Ecrire un test
• MERILESTFOU c'est toujours du hachetéheumelle
réunion technique
05/03/2010
15
16. Ecrire un test
• Une instruction
●
Commande
●
Cible
●
Valeur
• Recherche / manip sur des éléments
●
Facile pour les formulaires et les liens
●
Xpath est ton ami pour le reste (ou d'autres trucs)
●
Merci firebug
réunion technique
05/03/2010
16