La documentation est assez limitée pour faire une couverture avec istanbul pour les tests d'intégration. Quand je passe mes tests de moka, je reçois No coverage information was collected, exit without writing coverage information
.Utilisation d'Istanbul pour des tests d'intégration avec un microservice Node
La première chose que je fais est l'instrument tout mon code source:
✗ istanbul instrument . -o .instrument
Dans mon cas, c'est un Microservice REST qui Dockerized que je l'ai écrit des tests de Mocha pour exécuter contre elle pour valider une fois est déployé. Mon attente est istanbul me donnera une couverture de code contre la source de ce service de noeud.
La deuxième étape que je fais cette commande pour exécuter noeud sur mon code instrumenté:
✗ istanbul cover --report none .instrument/server.js
Après cela, je cours mes tests en utilisant les éléments suivants à partir du mon répertoire principal src comme suit (avec des résultats):
✗ istanbul cover --report none --dir coverage/unit node_modules/.bin/_mocha -- -R spec ./.instrument/test/** --recursive
swagger-tests
#createPet
✓ should add a new pet (15226ms)
#getPets
✓ should exist and return an Array (2378ms)
✓ should have at least 1 pet in list (2500ms)
✓ should return error if search not name or id
✓ should be sorted by ID (3041ms)
✓ should be sorted by ID even if no parameter (2715ms)
✓ should be only available pets (2647ms)
#getPetsSortedByName
✓ should be sorted by name (85822ms)
#deletePet
✓ should delete a pet (159ms)
9 passing (2m)
No coverage information was collected, exit without writing coverage information
Lorsque j'exécute istanbul report
, il est évident qu'il n'a rien à signaler.
Qu'est-ce qui me manque?
Voir développer la branche de ce project pour reproduire le problème.
J'ai correspondu avec l'auteur de cet article, mais nous n'avons pas trouvé de solution, je vais donc suivre votre conseil et signaler un problème. J'ai ajouté mon repo Git dans le post original si vous êtes intéressé à regarder de plus près. – occasl