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
}
}
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 :
.babelrc
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 !
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.