J'essaie de faire fonctionner Istanbul.
Je continue d'obtenir ce message à la fin de l'exécution Istanbul:
Aucune information de couverture n'a été recueillie, quittez sans écrire les informations de couverture
J'ai essayé tout ce que je pouvais trouver en ligne comme vous pouvez le voir:
"scripts": { "start": "node ./bin/start.js", "test": "mocha test --no-timeouts", "debug_mocha": "node-debug --no-timeouts _mocha", "eslint": "eslint .", "jshint": "jshint --exclude ./node_modules .", "istanbul": "istanbul cover --include-all-sources --hook-run-in-context node_modules/.bin/_mocha -- -u exports -R spec test/**/*", "istanbul2":"istanbul cover node_modules/.bin/_mocha -- -u exports -R spec test/**/*", "istanbul1":"istanbul cover node_modules/.bin/_mocha -- test/**/*", "istanbul0":"istanbul cover _mocha test/**/*.js", "istanbul3":"istanbul cover _mocha -- -R spec --recursive test" }
Mon fichier .istanbul.yml est à la racine du projet et il semble que istanbul le récupère avec succès.
//.istanbul.yml instrumentation: compact: false save-baseline: true reporting: reports: - lcov - cobertura
Qu'est-ce qui me manque?
Je l'ai, enfin.
https://github.com/gotwarlost/istanbul/issues/44#issuecomment-57708358 dit:
L'utilisation de _mocha ne fonctionne pas directement sur Windows. Veuillez utiliser le chemin complet vers le fichier JS à la place
Ensuite, après une petite expérimentation, la victoire:
istanbul cover C:/dev/my_project/node_modules/mocha/bin/_mocha --
Essayez cela, cela peut vous aider. Étiquette de script dans votre package.json
"cover" : "NODE_ENV=test babel-node ./node_modules/babel-istanbul/lib/cli cover --dir ./coverage _mocha -- -R spec --ui bdd ./test/setup.js ./test --recursive"
Setup.js sera votre javascript d'installation
./test sera le dossier où se trouvent tous vos tests.
Les paquetages doivent être installés:
Cela fonctionne pour moi 🙂 (npm run cover)
Remarque: si sur Windows : supprimez NODE_ENV = test et peut-être besoin de créer le chemin complet _mocha dans votre dossier module nœud
Si vous configurez un nouveau projet et que vous essayez de faire fonctionner l'istanbul, assurez-vous que vous disposez d'au moins un fichier de test qui fait référence à au moins un des fichiers de projet d'istanbul pour la référence pour son rapport de couverture.
"istanbul": "0.4.4", "mocha": "3.0.0"
Dans mon cas, j'étais en train de créer un nouveau projet et d'obtenir les premiers index.js
et test/index.spec.js
préparés. Quand j'ai essayé de courir:
"test": "istanbul cover --report html node_modules/mocha/bin/_mocha -- test/**/*.js --ui bdd -R spec"
J'ai obtenu un résultat de la moustache de tous les tests d'unités passant (ce qui n'a pas encore été testé pour que tous les 0 passent) mais j'ai ensuite reçu cette erreur après cela:
Aucune information de couverture n'a été recueillie, quittez sans écrire les informations de couverture
Le problème s'est avéré être que je n'avais pas encore ajouté une index.js
pour le fichier index.js
dans le fichier test/index.spec.js
le moment. Istanbul n'a pas de fichiers à référencer à partir des fichiers de test pour vérifier les informations de couverture.
S'il s'agit d'une question de cheminement à _chaque référencée dans le script npm, il y aura un message "SyntaxError:" supplémentaire qui suit le message "Aucune information de couverture collectée" .