Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Tester les modifications du code de Gaia

Une fois que vous avez apporté vos changements au code de Gaia et que ça semble fonctionner, vous devez effectuer des tests pour vous assurer que vos modifications fonctionnent, y compris avec le reste du code. Une fois que c'est le cas, vous pourrez proposer un correctif pour le projet. Cet article explique cette procédure de test.

La procédure de test consiste généralement à :

  • Déboguer avec les outils standards
  • Lancer des tests automatisés

La suite de l'article explique chacune de ces étapes.

Déboguer avec les outils standards

Si vous êtes développeur web, vous serez familier avec le débogage de Gaia. Dans l'article lancer Gaia dans Firefox pour ordinateur et comment apporter des modifications simples, les outils de développement nécessaires ont déjà été présentés. Pour modifier le code de façon plus complexe, vous devrez tirer pleinement parti des outils de débogage présent dans l'écran de Firefox pour ordinateur.

Note : Pour plus d'instructions sur l'utilisation de ces outils, voir la section de MDN sur les outils de développement.

Les tests automatisés

Une fois le code édité, vous devez lancer la suite de tests standards qui accompagnent Gaia avant de soumettre un correctif. Cela doit vous permettre de vous assurer que vos modifications n'affectent pas les fonctionnalités essentielles existantes du téléphone. Les tests que vous pouvez lancer sont :

  • les tests unitaires
  • les test d'intégration
  • les tests de performance
  • les tests d'interface utilisateur

Généralement, il est demandé que lancer ces tests avant de soumettre un correctif. Si c'est votre première contribution, vous pouvez envoyer votre correctif sans avoir fait les tests. En revanche, vous devez demander de l'aide pour pouvoir lancer les tests à l'avenir. Avant de lancer les tests, veillez à mettre à jour votre dépôt de Gaia afin de disposer de la dernière version des tests.

Note : Pour plus d'informations, vous pouvez lire la page sur les tests automatisés de Firefox OS.

Note : Si possible, lancez ces tests sur un vrai appareil si vous en avez un (certaines fonctionnalités ne sont pas supportées dans un émulateur). Si vous ne disposez pas d'un appareil Firefox OS, vous pouvez lancer les tests avec B2G Desktop ou Firefox Nightly.

Les tests unitaires

Les tests unitaires sont des tests effectués sur des fragments (unités) de code, assemblés dans une application plus large. Pour le projet Gaia, ces unités sont les applications individuelles. Gaia utilise :

  • mocha comme framework de test
  • chai comme bibliothèque d'assertion
  • sinon.js comme bibliothèque de copiage (mock & stub)
  • blanket.js comme outil pour mesurer la couverture des tests

Pour installer et mettre en place un serveur de tests unitaires, vous pouvez lancer les commandes suivantes (cela peut prendre quelques minutes, vous pouvez en profitez pour vous faire une tasse de thé) :

DEBUG=1 make
export FIREFOX=/Applications/FirefoxNightly.app/Contents/MacOS/firefox
bin/gaia-test

Celà ouvrira une page web en local, avec une liste de tests unitaires. Pour les lancer :

  • Choisissez les tests que vous voulez lancer, à partir de la liste sur la page web précédemment ouverte (un astérisque apparaît auprès de chacun d'eux).
  • Appuyez sur le bouton exécuter "Execute".
  • Défilez la page vers le bas pour voir les résultats du test

Tout en maintenant la page web local ouverte, vous pouvez lancer la suite de tests complète, dans une nouvelle fenêtre de terminal, avec la commande suivantes :

make test-agent-test

Note : Cela peut prendre beaucoup de temps étant donné la quantité de tests à effectuer (jusqu'à environ une heure). Dans la plupart des cas, il n'est nécessaire que de lancer les tests pour l'application que vous avez modifiée. Vous pouvez restreindre les tests en ajoutant  APP=<nom du dossier de l'application> à la fin de la commande : par exemple APP=settings.

Note : Pour plus d'informations sur les tests unitaires, vous pouvez également lire la page sur les tests unitaires de Gaia.

Les tests d'intégration

Tester l'intégration consiste à tester comment les différentes unités de code fonctionnent entre elles. C'est l'étape logique qui intervient après les tests unitaires. Les tests d'intégration de Gaia utilisent Marionnette qui permet de lancer un script en JavaScript avec un serveur basé sur Python. Ce script peut communiquer avec Gecko et peut donc contrôler le navigateur ainsi que l'appareil Firefox OS et les faire interagir.

Pour lancer les tests d'intégration, vous pouvez lancer la commande suivante :

make test-integration

Note : De même qu'avec les tests unitaires, lancer toute la suite de tests pour l'intégration peut prendre beaucoup de temps. Vous pouvez ajouter APP=<dossier de l'application> à la fin de la commande pour ne tester qu'une seule application, par exemple APP=calendar.

Note: Pour lancer les tests d'intégration sur un périphérique différent, il faut ajouter GAIA_DEVICE_TYPE=<device type="" name=""></device> à la commande précédente pour spécifier le type de périphérique, par exemple GAIA_DEVICE_TYPE=tv. Si ce n'est pas fait, les tests peuvent échouer.

Note : Pour plus d'informations sur les tests d'intégration, lire l'article sur les tests d'intégration de Gaia.

Les tests de performance

Les tests de performance de Gaia sont lancés avec l'utilitaire Raptor CLI. Raptor permet d'automatiser le lancement d'une application plusieurs fois et d'afficher des statistiques sur sa durée de démarrage. Après un test, Raptor affiche de plus les informations d'utilisation mémoire de l'application.

Pour lancer les tests de performance Raptor, voir Raptor: Bien commencer.

Les tests d'interfaces utilisateurs

Voir la page d'introduction sur les Tests d'interface utilisateur Gaia.

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : jwhitlock, sousmangoosta, Leonarf, SphinxKnight, goofy_bz
 Dernière mise à jour par : jwhitlock,