32 votes

Jest TypeError: le chemin doit être une chaîne. Reçu non défini

Ci-dessous les paramètres de mon package.json

Si je lance à partir de la ligne de commande npm test tous les cas de test Jest sont exécutés correctement. Dans le cas où j'utilise directement la commande jest de la ligne de commande, je reçois cette erreur:

La suite de tests n'a pas pu s'exécuter

 TypeError: Path must be a string. Received undefined

  at assertPath (path.js:7:11)
  at Object.relative (path.js:538:5)
 

Cela se produit sur tous les fichiers de test.

Une idée de ce qui pourrait mal se passer et comment y remédier?

  "scripts": {
        "test": "standard && jest",
        "format": "standard --fix",
        "start": "webpack-dev-server --config webpack.config.dev.js",
        "build": "webpack --config webpack.config.prod.js"
    },
 

20voto

GibboK Points 9196

J'ai résolu ce problème en utilisant:

  • désinstaller npm -g jest
  • npm install -g jest
  • npm cache clean
  • installation de npm

19voto

eyarmush Points 181

Je ne sais pas exactement quel est le problème ici, mais j'étais confronté au même problème et ce qui a fonctionné pour moi, c'était la mise à jour de la version Jest. J'utilisais 20 mais je suis passé à 21 et maintenant cela fonctionne à nouveau comme par magie.

Mettre à jour la version en package.json puis exécuter rm -rf node_modules && npm install

15voto

Robin Points 371

Dans mon cas, j'ai dû mettre à jour Jest vers la version 21.x (à partir de 20.x).

Essayez d'exécuter npm install jest@latest --save-dev .

7voto

Aquilon Points 68

Pour moi, c'était le paquet jest-cli qui passait à 21.x. Donc npm update jest-cli --save-dev

2voto

Harsh Shah Points 417

J'ai résolu ce problème en utilisant:

supprimer node_modules supprimer package-lock.json

supprimer la dépendance au développement de package.json de la plaisanterie npm remove jest --save-dev.

npm cache clean

puis exécutez la commande npm install

puis installez npm install jest@latest --save-dev

ça marche pour moi

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