Bonsoir à tous,
je viens de faire un commit qui met en place Behat via composer. Je n'ai
écrit que 4 scénarios mais qui ouvrent la portent à de nombreux autres.
Je vais essayer d'expliquer comment vous pouvez vous créer un environnement
de tests sans tout casser. Je veux bien mettre à jour une doc en ligne mais
je n'arrive pas à me connecter !
Les explications sont valables pour un système gnu/linux mais nul doute que
cela devrait fonctionner à de petites adaptations près avec d'autres
systèmes.
Dans le désordre :
1) la version de php doit être au minimum php 5.4.0 pour pouvoir utiliser
le serveur interne.
2) pour installer behat, il faut utiliser composer.
3) pour utiliser composer il faut l'installer !
Plutôt qu'une longue explication paraphrasée voici la doc officielle en
anglais :
https://getcomposer.org/doc/00-intro.md
4) Ensuite il faut tapper :
$ composer install
Et pas composer update qui va mettre à jour les versions des différents
composants et vous n'aurez pas nécessairement les mêmes versions que les
copains/copines. En faisant install au lieu d'update composer utiliser le
fichier composer.lock qui contient les bonnes versions à utiliser !
5) la configuration de behat de base se trouve à la racine dans un fichier
behat.yml.dist. Il ne faut pas modifier ce fichier pour particulariser
certaines informations à votre environnement mais le copier en behat.yml
que vous pourrez modifier à votre guise. Le fichier behat.yml est
volontairement ignoré par mercurial.
6) installer un dotclear spécialement pour les tests. Placer dans votre
copie de travail (le répertoire où vous avez cloné dotclear) et taper la
commande suivante :
$ php -S localhost:1080 travis/router_sqlite.php -t .
Evidemment si vous voulez une base de tests mysql vous taperez la commande
en remplaçant sqlite par mysql. L'avantage de sqlite et qu'il n'y a rien
d'autre à faire.
En revanche pour mysql ou postgresql, il faudra modifier le
fichier travis/conf/config_mysql.php (travis/conf/config_pgsql.php), créer
las base de données et mettre les bonnes infos dans le fichier.
Ensuite, il faut installer doctlear en tapant la commande suivante :
$ php ./travis/install.php sqlite
Là aussi en remplaçant sqlite par mysql ou pgsql si vous avez opté pour une
autre base.
Si tout va bien la base a été remplie avec toutes les tables.
7) Vous pouvez lancer les tests en tapant :
$ ./bin/behat
Si quelqu'un a compris mon charabia et est arrivé au bout je lui tire mon
chapeau.
Si vous avez des questions, j'y répondrais avec plaisir.
A faire :
- ajouter plein d'autres tests
- écrire la doc
- mettre en place une interface web sympa pour ajouter des tests (si si ça
existe)
a+
Nicolas