/[openfoncier]/trunk/tests/README.txt
ViewVC logotype

Annotation of /trunk/tests/README.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2258 - (hide annotations)
Thu Sep 5 16:30:05 2013 UTC (11 years, 4 months ago) by fmichon
File MIME type: text/plain
File size: 4220 byte(s)
Mise en concordance des scripts de tests

1 fmichon 2258 openMairie - Tests unitaires et fonctionnels
2     ============================================
3 fmichon 1649
4     Installation
5 fmichon 2258 ############
6 fmichon 1649
7 fmichon 2258 Pré-requis
8     ----------
9 fmichon 1649
10 fmichon 2258 Le lancement des tests est destiné aux développeurs de l'application, il est
11     donc convenu que l'environnement de tests se déploit sur un poste de
12     développement linux. Les commandes d'installation indiquées ici supposent
13     quelques pré-requis (paquets systèmes) pour fonctionner.
14 fmichon 1649
15 fmichon 2258 D'abord on désinstalle les paquets phpunit du système de paquets : ::
16 fmichon 1649
17 fmichon 2258 sudo aptitude purge phpunit phpunit-selenium
18 fmichon 1649
19 fmichon 2258 Ensuite on installe l'extension curl et le système pear : ::
20    
21     sudo aptitude install php5-curl php-pear
22 fmichon 1649
23 fmichon 2258 Ensuite on met à jour le système pear : ::
24 fmichon 1649
25 fmichon 2258 sudo pear channel-update pear.php.net
26     sudo pear upgrade-all
27     sudo pear channel-discover pear.phpunit.de
28    
29    
30     PHPUnit
31     -------
32    
33     => Installation : Installer depuis le channel pear.phpunit.de : ::
34    
35     sudo pear install --force --alldeps phpunit/phpunit
36    
37    
38     Selenium
39     --------
40    
41     Extension Selenium pour PHPUnit :
42    
43     => Installation : Installer depuis le channel pear.phpunit.de : ::
44    
45     sudo pear install phpunit/PHPUnit_Selenium
46    
47    
48     Selenium IDE (http://docs.seleniumhq.org/projects/ide/) :
49    
50     * Selenium IDE - Module complémentaire pour Firefox qui permet d'enregistrer,
51     modifier et exécuter des tests Selenium.
52     => Téléchargement : http://docs.seleniumhq.org/download/
53    
54     * Selenium IDE : PHP Formatter for PHPUnit_Extensions_Selenium2TestCase - Module
55     complémentaire pour Firefox qui permet d'exporter les tests Selenium en PHP.
56     => Téléchargement : https://github.com/suzuki/PHP-Formatter-PHPUnit_Selenium2/raw/bba189eb27f68229cb0a99b6f591379276abbb9a/build/phpformatter%40zatsubun.com.xpi
57    
58     => Installation : Il suffit de télécharger et d'installer les deux modules pour
59     Firefox (fichier .xpi) listés ci-dessus et de redémarrer Firefox.
60    
61    
62     Selenium Server :
63    
64     * Selenium Server - Serveur Selenium qui permet de jouer les tests fonctionnels.
65     => Téléchargement : http://docs.seleniumhq.org/download/
66    
67     * WebDriver for Google Chrome - Extension pour le serveur Selenium qui permet de
68     jouer les tests dans le navigateur Chrome.
69     => Téléchargement : http://code.google.com/p/chromedriver/downloads/list
70    
71     => Installation : Il suffit de copier le fichier .jar ainsi que l'exécutable
72     (fichier chromedriver) dans le dossier /opt/ par exemple puis d'exécuter la
73     commande suivante en tant que root :
74     echo "java -jar /opt/selenium-server-standalone-X.X.X.jar -Dwebdriver.chrome.driver=/opt/chromedriver" > /usr/local/bin/selenium-server && chmod +x /usr/local/bin/selenium-server
75    
76    
77 fmichon 1649 Utilisation
78 fmichon 2258 ###########
79 fmichon 1649
80 fmichon 2258 Pré-requis
81     ----------
82 fmichon 1649
83 fmichon 2258 Les tests doivent être joués dans un environnement balisé et reproductible à
84     l'identique. Pour ce faire il est nécessaire avant chaque lancement de test,
85     de dérouler une routine qui permet de mettre en place un environnement de tests.
86     Un script permet de dérouler cette routine de manière automatisée : ::
87 fmichon 1649
88 fmichon 2258 ./init_testenv
89 fmichon 1649
90 fmichon 2258 Ce script permet de :
91 fmichon 1649
92 fmichon 2258 * supprimer la base de données
93     * créer la base de données
94     * initialiser la base de données grâce au script data/pgsql/install.sql
95     * redémarrer apache pour prendre les traductions en compte
96     * donner les droits à apache pour les dossiers dans lequel il peut écrire
97     * faire un lien symbolique vers le dossier de l'applicatif pour que les tests
98     en question dans le dossier /var/www/
99 fmichon 1649
100 fmichon 1693
101 fmichon 2258 TestSuite
102     ---------
103 fmichon 1693
104 fmichon 2258 Lancer le test suite avec initialisation de l'environnement de tests
105 nhaye 1964
106 fmichon 2258 ./run_testsuite
107    
108    
109     TestCase
110     --------
111    
112     Lancer un test case avec initialisation de l'environnement de tests
113    
114     ./run_testcase testALancer.php
115    
116    
117    
118     Développement
119     #############
120    
121     Il est prévu de consigner ici les bonnes pratiques et les consignes pour pour
122     le développement des tests.
123    
124 fmichon 1649 Convention de nommage
125     ---------------------
126    
127 fmichon 2258 * Un fichier de test par thème fonctionnel, une méthode par fonctionnalité.
128 fmichon 1649 * Convention de nommage :
129     * des fichiers : testMonCasDutilisation.php
130 fmichon 2258 * des classes : MonCasDutilisation
131     * des méthodes : test_01_titre_de_la_fonctionnalite
132 fmichon 1649
133    
134 fmichon 2258 Bonnes pratiques
135     ----------------
136 fmichon 1649
137 fmichon 2258 * Éviter d'utiliser les sélecteurs XPATH, les sélecteurs CSS ou par ID sont
138     largement préférables.
139 fmichon 1649
140    

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26