Jest: Babelを使用しないとJestが失敗する

作成日 2016年10月03日  ·  3コメント  ·  ソース: facebook/jest

_Getting Started_ガイドで説明されているように、最も単純なプロジェクトでさえ失敗します。

サンプルプロジェクト( sum.jsおよびsum.spec.js )を作成してから、Jestを実行しようとすると、 Couldn't find preset "es2015" relative to directory "/Users/ianp/Projects"で失敗します。 または、この要点を確認してください//gist.github.com/0e44151b16718ebc83bb25efb68a9395

デバッグ構成(以下)では、 usesBabelJestがtrueに設定されていることがわかりますが、プロジェクトでBabelを使用していないため、なぜそれがベースになるのかわかりません。 usesBabelTest: falsepackage.json追加しようとしましたが、違いはありませんpresetがnullのように見えることもわかります。これは、エラーメッセージを考えると奇妙に思えます🤔

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

最も参考になるコメント

プリセットは、ツリーのどこかにある.babelrcからのものである必要があります。 そこにある場合、Jestは現在自動的にそれを使用します。

全てのコメント3件

プリセットは、ツリーのどこかにある.babelrcからのものである必要があります。 そこにある場合、Jestは現在自動的にそれを使用します。

修正するには:

  • .babelrc削除します
  • ES2015プリセットをインストールします

ドー! 親ディレクトリに.babelrcファイルがありましたが、どのようにしてそこに到達したのかわかりません😖

ヒントをありがとう!

このページは役に立ちましたか?
0 / 5 - 0 評価