41 votes

Quelle est la commande de test lors de la création de package.json ?

Tout en créant package.json à partir de la ligne de commande en utilisant npm init pour créer un module dans Node.js, il y a une commande de test champ que je ne connais pas. Il n'en est pas fait mention non plus dans la documentation sur l'exécution. npm help json également dans l'interface CLI.

Veuillez expliquer de quoi il s'agit.

28voto

Denis Tsoi Points 1878

Le site test command est la commande qui est exécutée chaque fois que vous appelez npm test .

Ceci est important lors de l'intégration avec des outils d'intégration continue/déploiement continu (tels que jenkins , codeship , teamcity ).

Exemple :
- Supposons que vous déployez un projet sur AWS ou un autre fournisseur d'hébergement en nuage,
- vous pouvez configurer votre infrastructure pour qu'elle exécute automatiquement npm test .
- S'il y a des problèmes dans ces tests, votre ci/cd fera automatiquement marche arrière avant le déploiement.

Pour exécuter les tests
Vous pouvez utiliser karma , jest ou selenium/nightmare/phantomjs ou à propos de toute autre bibliothèque/framework de script de test qui vous permet d'écrire et d'exécuter des tests, puis de définir la commande requise dans scripts.test et enfin de l'exécuter à partir de npm test .

13voto

robertklep Points 29669

En supposant que vous voulez dire scripts.test :

"scripts" : {
  "test" : "echo \"Error: no test specified\" && exit 1"
}

Ce champ contient le programme (ou la ligne de commande) qui doit être exécuté lorsque vous appelez la fonction npm test . Typiquement, ce programme est un test-runner comme mocha , ava , jest , ...

La valeur par défaut est un espace réservé qui imprime un message d'erreur (essayez d'exécuter la commande npm test dans le même répertoire que votre package.json ).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X