--- /dev/null
+Utilisation de PHPUnit
+======================
+
+
+Installer PHPUnit
+-----------------
+
+Il faut d'abord installer `Composer <https://getcomposer.org/>`_
+
+.. code:: bash
+
+ mkdir ~/phpunit/
+ cd ~/phpunit/
+ php -r "readfile('https://getcomposer.org/installer');" > composer-setup.php
+ php composer-setup.php
+ rm composer-setup.php
+
+
+Puis, copier le fichier suivant dans **composer.json**:
+
+.. code:: json
+
+ {
+ "require": {
+ "phpunit/phpunit": "^4.7",
+ "phpunit/php-code-coverage": "^2.1",
+ "mikey179/vfsStream": "^1.5",
+ "phpunit/DbUnit": "^1.4",
+ "phploc/phploc": "^2.1",
+ "pdepend/pdepend": "^2.1",
+ "phpmd/phpmd": "^2.2",
+ "squizlabs/php_codesniffer": "^2.3"
+ }
+ }
+
+
+Ce fichier permet au composer d'installer PHPUnit, Php Code coverage, vfsStream, DBUnit, PHPDepend, PHPMd et PHP Code Sniffer
+
+
+Il suffit ensuite de demander à Composer d'installer toutes les dépendances :
+
+.. code:: bash
+
+ php composer.phar install
+
+
+Et pour tester que tout c'est bien passer :
+
+.. code:: bash
+
+ $ php vendor/bin/phpunit --version
+ PHPUnit 4.8.24 by Sebastian Bergmann and contributors.
+
+
+Configurer PHPUNit dans PHPStorm
+--------------------------------
+
+Il faut configuer:
+
+1) L'interpreteur PHP
+
+#) PHPUnit lui-même.
+
+
+Pour l'interpréteur PHP, il faut sélectionner l'emplacement de la commande PHP
+
+
+.. image:: _static/phpstorm-choix-interpreteur.png
+
+
+Puis, il faut indiquer l'emplacement des bibliothèque PHPUnit (et autre) afin que PHPStorm puisse y accéder :
+
+.. image:: _static/phpstorm-configure-php.png
+
+
+Pour PHPUnit :
+
+Il suffit ensuite d'indiquer l'autoloader à PHPStorm, ainsi que le fichier de configuration du projet (qui pour ALLO
+est dans PHPUnit/phpunit.xml)
+
+.. image:: _static/phpstorm-configure-phpunit.png
+
+
+Lancer PHPUnit
+--------------
+
+PHPUnit peut-être lancé :
+
+1) soit sur un test unitaire
+#) soit sur une classe héritant de PHPUnit_Framework_TestCase
+#) soit sur tout un répertoire
+
+La lancement est accessible :
+1) via le menu contextuel "Run"
+#) via le racourci clavier CTRL + SHIFT + R à l'intérieur d'une méthode ou d'une classe
+
+CTRL + R relance la dernière execution de PHPUnit.
+
+
+.. image:: _static/phpstorm-run-phpunit.png
+
+
+Utiliser DBUnit
+---------------
+
+Les test unitaires dans Allo utilise DBUnit et donc une base de données.
+
+Cette base n'est pas créer (CREATE DATABASE) ou détruite (DROP DATABASE) à chaque test.
+En revanche, sur cette base :
+
+1) on execute tous ce qui sort du script dbupdate.php à chaque lancement d'une suite de test
+#) on fait un truncate de toutes les tables et on les peuple avec le contenu de database_data.yml avant chaque test unitaire
+
+Les propriétés de la configuration de la base de données sont indiquées par les constantes suivantes (à mettre dans local_settings.json):
+
+- db_test_name
+- db_test_dsn
+- db_test_user
+- db_test_password
+
+Il faut juste que la base existe avant de lancer une suite de test.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+