web-dev-qa-db-fra.com

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

Paramètres ci-dessous pour mon package.json

Si je cours depuis la ligne de commande npm test tous les tests jest sont correctement exécutés. Si j'utilise directement la commande jest de la ligne de commande, je reçois cette erreur:

La suite de tests a échoué

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.

Avez-vous une idée de ce qui pourrait ne pas être correct et de la solution?

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

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

  • npm désinstaller -g jest
  • npm install -g jest
  • npm cache clean
  • npm installer
16
GibboK

Je ne suis pas tout à fait sûr du problème, mais je faisais face au même problème et ce qui a bien fonctionné pour moi a été de mettre à jour la version de Jest. J'utilisais 20 mais je suis passé à 21 et maintenant cela fonctionne à nouveau comme par magie.

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

19
eyarmush

Dans mon cas, je devais mettre à jour Jest à la version 21.x (à partir de 20.x).

Essayez de courir npm install jest@latest --save-dev.

13
Robin

Pour moi, c’est le paquet jest-cli qui passe à 21.x. Alors npm update jest-cli --save-dev

7
Dominic Tracey

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

retirer node_modules retirer package-lock.json

supprime la dépendance de dev de package.json de 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

2
Harsh Shah

Pour moi, je devais déclasser. La version 21.x a fonctionné pour moi.

2
Will Humphreys