Jest: Jest échoue lorsqu'il n'utilise pas Babel

Créé le 3 oct. 2016  ·  3Commentaires  ·  Source: facebook/jest

Même le projet le plus simple, tel que décrit dans le guide _Getting Started_, échoue désormais.

Créez l'exemple de projet ( sum.js et sum.spec.js ), puis essayez d'exécuter Jest, il échoue avec Couldn't find preset "es2015" relative to directory "/Users/ianp/Projects" . Ou consultez cet aperçu : https://gist.github.com/0e44151b16718ebc83bb25efb68a9395 .

Dans la configuration de débogage (ci-dessous), je peux voir qu'il définit usesBabelJest sur true, bien que je ne sache pas pourquoi cela devrait être la base car je n'utilise pas Babel dans mon projet. J'ai essayé d'ajouter usesBabelTest: false à package.json mais cela n'a fait aucune différence. Je peux aussi voir que le preset semble être nul dans la configuration, ce qui semble étrange compte tenu du message d'erreur 🤔

jest version = 16.0.0
test framework = jasmine2
config = {
  "rootDir": "/Users/ianp/Projects/0e44151b16718ebc83bb25efb68a9395",
  "name": "-Users-ianp-Projects-0e44151b16718ebc83bb25efb68a9395",
  "setupFiles": [],
  "testRunner": "/Users/ianp/Projects/0e44151b16718ebc83bb25efb68a9395/node_modules/jest-jasmine2/build/index.js",
  "scriptPreprocessor": "/Users/ianp/Projects/0e44151b16718ebc83bb25efb68a9395/node_modules/babel-jest/build/index.js",
  "usesBabelJest": true,
  "automock": false,
  "bail": false,
  "browser": false,
  "cacheDirectory": "/var/folders/5p/qfkdcjcj343gnxdn0cy8_6l40000gn/T/jest",
  "clearMocks": false,
  "coveragePathIgnorePatterns": [
    "/node_modules/"
  ],
  "coverageReporters": [
    "json",
    "text",
    "lcov",
    "clover"
  ],
  "globals": {},
  "haste": {
    "providesModuleNodeModules": []
  },
  "mocksPattern": "__mocks__",
  "moduleDirectories": [
    "node_modules"
  ],
  "moduleFileExtensions": [
    "js",
    "json",
    "jsx",
    "node"
  ],
  "moduleNameMapper": {},
  "modulePathIgnorePatterns": [],
  "noStackTrace": false,
  "notify": false,
  "preset": null,
  "preprocessorIgnorePatterns": [
    "/node_modules/"
  ],
  "resetModules": false,
  "testEnvironment": "jest-environment-jsdom",
  "testPathDirs": [
    "/Users/ianp/Projects/0e44151b16718ebc83bb25efb68a9395"
  ],
  "testPathIgnorePatterns": [
    "/node_modules/"
  ],
  "testRegex": "(/__tests__/.*|\\.(test|spec))\\.jsx?$",
  "testURL": "about:blank",
  "timers": "real",
  "useStderr": false,
  "verbose": null,
  "watch": false,
  "cache": true,
  "watchman": true,
  "testcheckOptions": {
    "times": 100,
    "maxSize": 200
  }
}

Commentaire le plus utile

Le préréglage doit provenir d'un .babelrc quelque part dans votre arbre. S'il est là, Jest l'utilisera actuellement automatiquement.

Tous les 3 commentaires

Le préréglage doit provenir d'un .babelrc quelque part dans votre arbre. S'il est là, Jest l'utilisera actuellement automatiquement.

Pour corriger :

  • Supprimer .babelrc
  • Installer le préréglage ES2015

Oh ! il y avait un fichier .babelrc dans un répertoire parent, je ne sais pas comment il est arrivé là 😖

Merci pour l'astuce !

Cette page vous a été utile?
0 / 5 - 0 notes