J'essaie de décider d'un outil de couverture de code de test JS mais je ne vois pas clairement les différences entre eux. Les meilleurs succès de Google sont blanket.js, istanbul-js et JSCover.
Quelqu'un peut-il fournir des informations sur les principales différences entre eux et leurs avantages/inconvénients?
Y en a-t-il d'autres utiles?
Après quelques essais, je trouve clairement istanbul l'outil le plus pratique pour apporter une analyse de couverture à un projet node-js.
Istanbul utilise l'exécutable ou le script js fourni pour effectuer les tests et collecter les informations de couverture. Il peut être installé via npm:
npm install istanbul mocha
après une installation réussie, il suffit de l'invoquer par
./node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha
respectez le '_' puisque le moka bifurque le _mocha
- exécutable comme indiqué ici
blanket.js pour nodejs s'intègre facilement par
en gros, il est prêt à l'emploi après avoir fait
npm install blanket mocha
après une installation réussie, exécutez simplement vos tests de moka comme ça
./node_modules/.bin/mocha --require blanket --reporter html-cov >coverage.html
Malheureusement, vous devez appeler les tests mocha deux fois si vous souhaitez collecter des informations sur la couverture ainsi que des rapports de test, car vous ne pouvez fournir qu'un seul reporter à mocha.
Je ne peux rien dire sur JSCover car son installation était trop compliquée pour moi. L'important pour moi était que je n'ai pas besoin d'installer de paquetages en tant que root ou même de compiler des choses car il devient plus compliqué pour les autres utilisateurs de créer un environnement de développement.