Jest: Jest falha quando não usa Babel

Criado em 3 out. 2016  ·  3Comentários  ·  Fonte: facebook/jest

Mesmo o projeto mais simples, conforme descrito no guia _Primeiros passos_ agora falha.

Crie o projeto de amostra ( sum.js e sum.spec.js ) e tente executar Jest, ele falha com Couldn't find preset "es2015" relative to directory "/Users/ianp/Projects" . Ou verifique esta essência: https://gist.github.com/0e44151b16718ebc83bb25efb68a9395 .

Na configuração de depuração (abaixo), posso ver que está definindo usesBabelJest como verdadeiro, embora não tenha certeza de por que essa deve ser a base, já que não estou usando o Babel no meu projeto. Eu tentei adicionar usesBabelTest: false a package.json mas não fez diferença. Também posso ver que preset parece nulo na configuração, o que parece estranho dada a mensagem de erro 🤔

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
  }
}

Comentários muito úteis

A predefinição deve vir de um .babelrc em algum lugar da sua árvore. Se estiver lá, Jest o usará automaticamente.

Todos 3 comentários

A predefinição deve vir de um .babelrc em algum lugar da sua árvore. Se estiver lá, Jest o usará automaticamente.

Consertar:

  • Remover .babelrc
  • Instale a predefinição ES2015

Doh! havia um arquivo .babelrc em um diretório pai, não tenho certeza de como ele foi parar lá 😖

Obrigado pela dica!

Esta página foi útil?
0 / 5 - 0 avaliações