Outil utilisé : jasmine
L'idée est de décrire des fonctionnalités d'un plugin jQuery par exemple, plutôt que d'écrire des tests. Dans les faits cela ne change rien mais cela permet d'avoir un aperçu plus "lisible".
Le plugin updatePermissionsForm (défini dans /dotclear/admin/js/_users_actions.js) permet de gérer les dépendances entre certaines permissions. Par exemple si on coche la permission admin alors toutes celles qui suivent devraient être cochées et désactivées.
Cette fonctionalité s'écrit comme ça :
describe("Permissions feature", function() { it("Click admin persmission must checked all associated permissions", function() { loadFixtures('normal.html'); $('#permissions-form').updatePermissionsForm(); var permissions = ['usage','publish','delete','contentadmin','categories']; $('input[name="perm[default][admin]"]').click(); for (var _i=0,_len=permissions.length;_i<_len;_i++) { expect($('input[name="perm[default]['+permissions[_i]+']"]')).toBeChecked(); expect($('input[name="perm[default]['+permissions[_i]+']"]')).toBeDisabled(); } }); });
Quelques liens pour débuter :
Outil utilisé : atoum
Pour pouvoir par exemple automatiser dans une certaine mesure le cahier de recette, on fait des tests fonctionnels. L'outil utilisé est Behat. Ce n'est pas à proprement parler un outil de tests fonctionnels mais il permet de les écrire en langage naturel. Ainsi tout un chacun peut écrire des tests.
Dans un cas comme dans l'autre il faut ensuite configurer Behat pour pointer vers cette installation de tests. Pour ce faire il suffit de copier le fichier behat.yml.dist en behat.yml. Il faut ensuite particulariser ce fichier.
Dans un terminal, dans le répertoire où vous avez installé dotclear lancez la commande suivante :
$ ./bin/behat
Behat (en ligne de commande) a de nombreuses options que vous pouvez découvrir en tapant :
$ ./bin/behat --help
Deux options particulièrement intéressantes sont la possibilité de lancer les scénarios d'un fichier :
$ ./bin/behat path/2/feature/file
Et l'autre est d'interrompre l'exécution à la première erreur :
$ ./bin/behat --stop-on-failure
Wiki powered by Dokuwiki.