wiki:fr/tests
developer.jelix.org is not used any more and exists only for history. Post new tickets on the Github account.
developer.jelix.org n'est plus utilisée, et existe uniquement pour son historique. Postez les nouveaux tickets sur le compte github.

Tests unitaires et fonctionnels sur Jelix

Quand vous contribuez au projet Jelix, il est indispensable de tester vos modifications.

  • en exécutant les tests existants pour vérifier qu'il n'y a pas de régression
  • en ajoutant des tests qui testent votre modification

Organisation des tests

Il y a actuellement (Jelix 1.5 en développement) plusieurs frameworks de tests unitaires utilisés :

  • Simpletest: les tests simpletests sont accessibles depuis l'interface de l'application testapp ce framework n'est presque plus utilisé. Les tests ont été migré vers PHPUnit. Il doit cependant rester 3-4 tests à migrer actuellement dans Jelix 1.5. Les fichiers sont dans le module jelix_tests/tests/ de testapp. Simpletest est par contre très utilisé dans les branches 1.4 et inférieur
  • PHPUnit : c'est le framework principal utilisé. Les tests sur les composants de jelix sont dans le répertoire testapp/tests-jelix
  • QUnit : c'est une petite bibliothèque pour faire des tests en JS. On peut les lancer via l'interface de testapp. L'utilisation de QUnit va être abandonnée au profit de CasperJS
  • CasperJS : outils utilisés depuis Jelix 1.5 pour réaliser les tests fonctionnels http://casperjs.org

Lancement des tests

Il faut d'abord impérativement installer l'application testapp, et être accessible depuis un navigateur, si possible avec le nom de domaine testapp.local (inscrivez le dans le fichier hosts de votre machine). Si vous voulez utiliser un autre nom de domaine, possible que certaines choses ne fonctionnent plus (TODO: lister les modifs).

tests Simpletest

Allez sur testapp, cliquer sur le lien "PHP Unit Tests" et cliquer sur "Run all tests". Il se peut que vous ayez des problèmes de mémoires pour les tests dans les branches 1.4 et plus vieilles. Augmentez la mémoire dispo dans le php.ini de votre installation.

Les tests peuvent mettre quelques secondes à s’exécuter. Soyez patient :-)

tests PHPUnit

Ils ont commencé à faire leur apparition dans Jelix 1.4, et depuis jelix 1.5, tout les tests Simpletests ont été migrés vers PHPUnit.

  • Installez la version la plus récente possible sur votre poste.
  • en ligne de commande, allez dans le répertoire testapp/tests-jelix/
  • lancez les tests en tapant phpunit

tests QUnit

Ce sont quelques tests fonctionnels sur les formulaires et autres scripts. Ils sont accessibles depuis l'interface de testapp (liens sous "JS unit tests").

tests CasperJs?

Ils ont commencé à être créer durant le développement de Jelix 1.5. Ce sont des tests fonctionnels, et tests des pages de l'appli testapp. Il n'y a pas besoin de navigateur car CasperJS utilise PhantomJS pour "inspecter" les pages.

Last modified 6 years ago Last modified on Jan 9, 2013, 5:26:55 PM