D'après ce que je sais, console.log()
devrait fonctionner sans problème d'impression sur le STDOUT de ma console, lors de l'exécution d'un script.
Mais dans mon cas, j'ai NPM configuré pour exécuter Jest lors de l'émission de npm test
À partir du shell, et toute console.log()
à l'intérieur des fichiers de test n'imprime rien à l'écran. J'ai également essayé d'utiliser process.stdout.write()
mais je n'obtiens toujours aucune sortie personnalisée lors de l'exécution de npm test
.
Comment suis-je censé déboguer des éléments dans mes scripts de test? Je ne peux pas savoir si c'est un problème de Node, de NPM ou de Jest. Il y a un problème Jest qui ressemble au mien mais je ne peux toujours pas résoudre et obtenir une sortie d'une chaîne simple; tandis que le reste de la sortie Jest est répété comme d'habitude.
Quelqu'un a rencontré un problème similaire?
EDIT 1: J'ai essayé d'exécuter npm test -- --runInBand
Mais le journal n'apparaît pas.
Remarque: en essayant d'exécuter la commande à plusieurs reprises, je peux parfois voir le journal, mais ceci est alors écrasé/masqué par le reste de la sortie Jest suivante.
De la question liée puisque le problème dure depuis des années ...
Il y a ne demande de tirage dans la version alpha qui va résoudre ce problème. Il semble que le dernier raffinage ait été effectué au cours des dernières heures (voir le lien vers le problème Github).
Cependant, j'ai trouvé une solution qui fonctionne pour mon cas le plus simple:
npm test -- --verbose=true
et le journal apparaîtra comme par magie!Ce ne sera pas corrigé dans tous les cas; peut-être que async/multi-thread/etc aura toujours des problèmes (veuillez rapporter vos expériences, afin que je puisse mettre à jour la réponse); par exemple, l'ajout d'une process.exit(1)
après le journal la masquera à nouveau.
Essayer d'appuyer sur ctrl + c
Avant que la process.exit()
s'exécute (avec le bon timing ...) montrera que le journal est réellement là et qu'il est remplacé.
Je mettrai à jour la réponse avec des nouvelles, mais cela aidera probablement les autres à commencer avec les configurations Node/NPM/Jest!
Ce n'est pas propre, mais j'ai eu de la chance, j'espère que cela vous aidera jusqu'à ce qu'un correctif soit publié: enregistrez quelques newline
supplémentaires après le journal qui est écrasé:
console.log('I want to be seen!');
console.log('\n\n\n\n');