Tests

Tests javascript

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 :

Tests Unitaires

Outil utilisé : atoum

Tests Fonctionnels

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.

Environnement de tests

En utilisant une installation de dotclear existante

En installant une nouvelle instance de dotclear dédiée aux 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.

Lancement des tests

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.