Jest: Scherz schlägt fehl, wenn Babel nicht verwendet wird

Erstellt am 3. Okt. 2016  ·  3Kommentare  ·  Quelle: facebook/jest

Selbst das einfachste Projekt, wie es in der Anleitung _Erste Schritte_ beschrieben ist, schlägt jetzt fehl.

Erstellen Sie das Beispielprojekt ( sum.js und sum.spec.js ) und versuchen Sie dann, Jest auszuführen. Es schlägt mit Couldn't find preset "es2015" relative to directory "/Users/ianp/Projects" fehl. Oder sehen Sie sich dieses Wesentliche an: https://gist.github.com/0e44151b16718ebc83bb25efb68a9395 .

In der Debug-Konfiguration (unten) kann ich sehen, dass usesBabelJest auf true gesetzt wird, obwohl ich nicht sicher bin, warum dies die Basis sein sollte, da ich Babel in meinem Projekt nicht verwende. Ich habe versucht, usesBabelTest: false zu package.json hinzuzufügen, aber das hat keinen Unterschied gemacht. Ich kann auch sehen, dass preset in der Konfiguration null zu sein scheint, was angesichts der Fehlermeldung seltsam erscheint 🤔

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

Hilfreichster Kommentar

Das Preset muss irgendwo in Ihrem Baum von einem .babelrc . Wenn es dort ist, verwendet Jest es derzeit automatisch.

Alle 3 Kommentare

Das Preset muss irgendwo in Ihrem Baum von einem .babelrc . Wenn es dort ist, verwendet Jest es derzeit automatisch.

Reparieren:

  • .babelrc entfernen
  • Installieren Sie die ES2015-Voreinstellung

Doh! Es gab eine .babelrc Datei in einem übergeordneten Verzeichnis, ich bin mir nicht sicher, wie sie dorthin gelangt ist 😖

Danke für den Tipp!

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen