Aller au contenu principal

Test

Notre essayons de garder une couverture de code élevée pour Electron. Nous demandons que toutes les pull request non seulement passent tous les tests existants, mais qu'elles ajoutent idéalement de nouveaux tests pour couvrir les changements de code et les nouveaux scénarios. Cela nous assure ainsi que nous intégrons le plus de code possible tout en étant sûr que Electron soit livré avec le moins de bugs possible.

Ce dépôt utilise des règles de qualité de code pour JavaScript et C++ ainsi que des tests unitaires et d'intégrations. Pour en apprendre plus sur le style de code d'Electron, référez-vous au document style de code.

Linting

Pour s'assurer que vos changements sont conformes au style de code d'Electron, exécutez npm run lint, qui exécutera une multitude de vérifications de règles de qualité sur le code de vos changements en fonction des zones du code qu'ils affectent.

Beaucoup de ces vérifications sont incluses en tant que scripts automatiques de pré-commit, il est donc probable que vos erreurs soient interceptées au moment du commit.

Tests unitaires

Si vous n'utilisez pas les build-tools, assurez vous que le nom que vous avez configuré pour votre version locale d'Electron est des valeurs suivantes: Testing, Release, Default, ou que vous avez défini process.env.ELECTRON_OUT_DIR. Sans cette définition, Electron échouera à effectuer certaines étapes de pré-test.

Pour exécuter tous les tests unitaires, exécutez npm run test. Les tests unitaires sont une application Electron (surprise !) qui se trouve dans le dossier spec. Notez qu'elle a son propre package.json et que ses dépendances ne sont donc pas définies dans le package.json à la racine du projet.

Pour exécuter uniquement les tests répondant à un modèle, exécutez npm run test -- -g=PATTERN, en remplaçant le PATTERN par une expression régulière correspondant aux tests que vous souhaitez exécuter. À titre d'exemple : si vous voulez exécuter uniquement les tests IPC, vous exécuterez npm run test -- -g ipc.

Smoke Tests de Node.js

Si vous avez apporté des modifications qui pourraient affecter la façon dont Node.js est intégré dans Electron, nous avons un exécuteur de test qui exécute tous les tests de Node.js en utilisant le fork de Node.js personnalisé d'Electron.

Pour exécuter tous les tests Node.js :

$ node script/node-spec-runner.js

Pour exécuter un seul test Node.js :

$ node script/node-spec-runner.js parallel/test-crypto-keygen

où l'argument passé à l'exécuteur est le chemin vers le test dans l'arborescence de fichiers des sources de Node.js.

Tests sur les appareils sous Windows 10

Étapes supplémentaires pour exécuter les tests unitaires :

  1. Visual Studio 2019 doit être installé.

  2. Les headers de Node doivent être compilés pour votre configuration.

    ninja -C out\Testing electron:node_headers
  3. Le fichier electron.lib doit être copié en tant que node.lib.

    cd out\Testing
    mkdir gen\node_headers\Release
    copy electron.lib gen\node_headers\Release\node.lib

Polices d'écriture manquantes

Certains appareils sous Windows 10 ne sont pas livrés avec la police Meiryo installée, ce qui peut entraîner l'échec d'un test de repli des polices d'écriture. Pour installer Meiryo :

  1. Appuyez sur la touche Windows et recherchez Gérer les fonctionnalités facultatives.
  2. Cliquez sur Ajouter une fonctionnalité.
  3. Sélectionnez Polices japonaises supplémentaires et cliquez sur Installer.

Mesures en pixels

Certains tests s'appuyant sur des mesures précises en pixels peuvent ne pas fonctionner correctement sur des appareils avec les paramètres de l'écran Hi-DPI en raison d'erreurs de précision à virgule flottante. Pour exécuter correctement ces tests , assurez-vous que la mise à l'échelle de votre appareil est réglée sur 100%.

Pour configurer la mise à l'échelle de l'affichage:

  1. Appuyez sur la touche Windows et recherchez Affichage.
  2. Sous Mise à l'échelle et disposition, assurez-vous que le paramètre saisi pour votre appareil est de 100%.