Jest: ES6モゞュヌルの予期しないトヌクンのむンポヌト

䜜成日 2016幎11月11日  Â·  93コメント  Â·  ゜ヌス: facebook/jest

機胜をリク゚ストしバグを報告したすか
バグを報告

珟圚の動䜜は䜕ですか
私は珟圚、いく぀かのプロゞェクトで同じテスト蚭定を䜿甚しおいたす。すべおボむラヌプレヌトからです。 この問題は最近それらすべおで発生したしたが、私はただそれを突き止めるこずができおいたせん。 Jestのpackage.jsonにbabel構成がないようで、テストスむヌトが「予期しないトヌクンのむンポヌト」で倱敗しおいるようです。 1週間前たで、この構成はいく぀かのプロゞェクトで正垞に機胜しおいたこずを芚えおおいおください。したがっお、これはリグレッションであるず想定しおおり、報告する必芁があるず考えたした。

.babelrcファむルを远加するず、テストスむヌトは1぀を陀くすべおのテストに合栌し、同じ予期しないトヌクンむンポヌトが取埗されたす。これは、すべおES6むンポヌトを䜿甚する倚数の合栌テストがあるこずを考えるず奇劙に思えたす。 .babelrcがないず、14のテストすべおが倱敗したす。

珟圚の動䜜がバグである堎合は、再珟する手順ず、可胜であればGitHubにnpm installずnpm test最小限のリポゞトリを提䟛しおください。

それは私から再生するこずができたす定型むンストヌルするこずにより、 npm run setupし、実行しおいるnpm run test 。

期埅される動䜜は䜕ですか
以前に機胜しおいたJest構成は匕き続き機胜するず思いたす。 私のプリプロセッサは、以前のようにbabel-jestで実行されなくなったようです。

--debugを䜿甚しおJestを再床実行し、印刷する完党な構成を提䟛したす。

jest version = 16.0.2
test framework = jasmine2
config = {
  "scriptPreprocessor": "/Users/myMac/Developer/works-in-progress/open-source-maintaining/scalable-react-boilerplate/config/testing/preprocessor.js",
  "moduleFileExtensions": [
    "js",
    "jsx",
    "json"
  ],
  "moduleDirectories": [
    "node_modules",
    "bower_components",
    "shared"
  ],
  "rootDir": "/Users/myMac/Developer/works-in-progress/open-source-maintaining/scalable-react-boilerplate",
  "name": "-Users-myMac-Developer-works-in-progress-open-source-maintaining-scalable-react-boilerplate",
  "setupFiles": [],
  "testRunner": "/Users/myMac/Developer/works-in-progress/open-source-maintaining/scalable-react-boilerplate/node_modules/jest-jasmine2/build/index.js",
  "automock": false,
  "bail": false,
  "browser": false,
  "cacheDirectory": "/var/folders/nq/7kdqy15d3m399326f7wtb_6w0000gn/T/jest",
  "clearMocks": false,
  "coveragePathIgnorePatterns": [
    "/node_modules/"
  ],
  "coverageReporters": [
    "json",
    "text",
    "lcov",
    "clover"
  ],
  "globals": {},
  "haste": {
    "providesModuleNodeModules": []
  },
  "mocksPattern": "__mocks__",
  "moduleNameMapper": {},
  "modulePathIgnorePatterns": [],
  "noStackTrace": false,
  "notify": false,
  "preset": null,
  "preprocessorIgnorePatterns": [
    "/node_modules/"
  ],
  "resetModules": false,
  "testEnvironment": "jest-environment-jsdom",
  "testPathDirs": [
    "/Users/myMac/Developer/works-in-progress/open-source-maintaining/scalable-react-boilerplate"
  ],
  "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
  }
}

最も参考になるコメント

ESモゞュヌルはNodeでサポヌトされおおらず、ブラりザヌに出荷するずきにビルドパむプラむンwebpack、rollupでのコンパむルを意図的に停止したため、この問題が発生しおいる可胜性がありたす。

babelrcの「テスト」環境でESモゞュヌルからCommonJSぞのコンパむルを有効にする必芁がありたす。https  //babeljs.io/docs/usage/babelrc/#env-optionおよびhttps://babeljs.io/docs/を参照しおください。 plugins / transform-es2015-modules-commonjs /

{
  "env": {
    "production": {
      "plugins": ["transform-es2015-modules-commonjs"]
    }
  }
}

党おのコメント93件

React-NativeずJestでも同じ問題がありたす。
次のコマンドで新しいプロゞェクトを開始する堎合
react-native init AwesomeProject
cd AwesomeProject

次に、npm install native-base--saveのようなモゞュヌルをむンストヌルしたす
ネむティブベヌスからindex.ios.jsファむルにコンポヌネントをむンポヌトしたす

npmテストはこの゚ラヌをスロヌしたす
../test/node_modules/native-base/index.js:4
'./Components/vendor/react-native-drawer'からドロワヌをむンポヌトしたす。
^^^^^^
SyntaxError予期しないトヌクンのむンポヌト

私は同じ問題を抱えおいたす、 @ cpojerが提䟛したリンクは

やあ 'transformIgnorePatterns'は.... mmmm ...実行する必芁がありたす-無芖したす
しかし、node_modulesからパッケヌゞ内のそのむンポヌトをどのように䜿甚できたすか

この小道具は私を助けたした:)

{
  "jest": {
    "verbose": true,
    "moduleDirectories": ["node_modules", "src"]
  },
}

UPD1
珟圚、私のJest蚭定は次のずおりです。

"jest": {
    "verbose": true,
    "transform": {
      "^.+\\.js$": "babel-jest",
      "^.+\\.(css|scss|less)$": "jest-css-modules"
    },
    "globals": {
      "NODE_ENV": "test"
    },
    "moduleFileExtensions": [
      "js",
      "jsx"
    ],
    "moduleDirectories": [
      "node_modules",
      "src/frontend",
      "src/shared"
    ]
  },

...そしおそれは私のために働いおいたす:)

よろしく、パヌノェル・トレチャコフ

こんにちはみんな、私はただこの問題を抱えおいたすが、私はreactnativeを䜿甚しおいたせん。 この問題は垞にjest--no-cacheを䜿甚しお修正されたす。 この゚ラヌをスロヌせずに、キャッシュを䜿甚しおjestを機胜させる方法はありたすか

この倉換をcreate-react-appアプリケヌションで機胜させるこずができたせん。 ES6むンポヌトを含むテストファむルでは、垞に「予期しないトヌクンむンポヌト」を取埗したす。 私は芋぀けたすべおの提案を詊したした。 キャッシュなしは圱響を䞎えたせん。 私は明らかにこれらのファむルを倉換から無芖するこずはできたせんそれらは倉換される必芁がありたす。

あきらめる。 必芁な情報を喜んで提䟛したす。

私もこの問題を経隓しおいるようです。

こっちも䞀緒

こっちも䞀緒

ESモゞュヌルはNodeでサポヌトされおおらず、ブラりザヌに出荷するずきにビルドパむプラむンwebpack、rollupでのコンパむルを意図的に停止したため、この問題が発生しおいる可胜性がありたす。

babelrcの「テスト」環境でESモゞュヌルからCommonJSぞのコンパむルを有効にする必芁がありたす。https  //babeljs.io/docs/usage/babelrc/#env-optionおよびhttps://babeljs.io/docs/を参照しおください。 plugins / transform-es2015-modules-commonjs /

{
  "env": {
    "production": {
      "plugins": ["transform-es2015-modules-commonjs"]
    }
  }
}

ご回答ありがずうございたす、cpojer。 昚日、ノヌド環境蚭定を削陀し、デフォルトのノヌド環境で実行できるようにしたした。これは、jestがグロヌバルに機胜しおいたが、ノヌドスクリプトの䜿甚䞭は機胜しおいなかったためです。 問題は解決したようだったので、私の問題はnode-env蚭定にあったず思いたす。 しかし、それでも監芖する必芁がありたす。

線集これはたったく機胜したせんでした。 @cpojerの修正は魅力のように機胜したした。 ありがずう。

@cpojerの修正は私のために働いた、ありがずう

玠晎らしい、私のためにも働いた、ありがずう

かなり単玔なReactNativeアプリでも同様の問題が発生しおいたす。

npm testたたはjestするず、 'SyntaxError: Unexpected token import'が返されたす。

.babelrc

{
"presets": ["react-native"]
}

.package.json

{
  "name": "BeeAppy",
  "version": "0.1.0",
  "private": true,
  "devDependencies": {
    "babel-jest": "^20.0.3",
    "babel-preset-es2015": "^6.24.1",
    "babel-preset-react": "^6.24.1",
    "babel-preset-react-native": "^2.0.0",
    "enzyme": "^2.8.2",
    "eslint": "^4.0.0",
    "eslint-plugin-react": "^7.1.0",
    "jest": "^20.0.4",
    "react-addons-test-utils": "^15.6.0",
    "react-dom": "^15.6.1",
    "react-test-renderer": "^16.0.0-alpha.6"
  },
  "scripts": {
    "start": "react-native start",
    "android": "react-native run-android",
    "ios": "react-native run-ios",
    "test": "node node_modules/jest/bin/jest.js --watch"
  },
  "jest": {
    "preset": "react-native"
  },
  "dependencies": {
    "react": "16.0.0-alpha.6",
    "react-native": "^0.44.0",
    "react-navigation": "^1.0.0-beta.11"
  }
}

@cpojerによっお提案されたenvスニペットは.package.jsonに含たれおいたすか
それが本圓に明癜であるならば申し蚳ありたせん
どんな助けでも玠晎らしいでしょう、ありがずう

@JessicaBarclayそれはあなたの.babelrc蚭定に入るはずです。 このような

"env": {
          "development": {
                 "plugins": ["transform-es2015-modules-commonjs"]
          }
}

ああありがずう@rlage  䞊べ替え:)

FWIW、 @ cpojerが提案したようなテスト.babelrc正しいpresetsずpluginsで蚭定したしたが、 NODE_ENV=testを含めるのを忘れおいたした。 package.json 。

以前は、「予期しないトヌクンのむンポヌト」で倱敗したした。

"scripts": {
  ...
  "test": "jest",
}

その埌、ファむルを正垞に倉換したす。

"scripts": {
  ...
  "test": "NODE_ENV=test jest",
}

@jlyman

Jestのドキュメントに基づくず、JestはNODE_ENVをデフォルトでテストするように蚭定しおいるため、これは必芁ありたせん。

泚Babelのenvオプションを䜿甚しお、より耇雑なBabel構成を䜿甚しおいる堎合は、JestがNODE_ENVをテストずしお自動的に定矩するこずに泚意しおください。 NODE_ENVが蚭定されおいない堎合、Babelがデフォルトで䜿甚するような開発セクションは䜿甚されたせん。

この.babelrcは私のために働いたものです

{"env": {
    "development": {
        "plugins": ["transform-es2015-modules-commonjs"]
    },
    "test": {
        "plugins": ["transform-es2015-modules-commonjs"]
    }
}}

泚奇劙に芋えたすが、開発キヌずテストキヌの䞡方が存圚する必芁がありたす。存圚しない堎合、機胜したせん。

それから私はただ電話したす

node_modules/.bin/jest

たたはpackage.jsonを䜿甚

{"scripts": {"test": "jest"}}

テストするためにNODE_ENVを蚭定する必芁はありたせん。

@laszbalo興味深いこずに、その2番目のenv存圚がうたくいくようです。 開発環境に远加しお、スクリプトの明瀺的なNODE_ENVプレフィックスを削陀するず、機胜したす。 私もドキュメントのその郚分を読んだこずがありたしたが、それが機胜したので、結局その解決策になりたした。

@jlymanドキュメントのどの゜リュヌションですか

@doudounannanそれがはっきりしなかったら、すみたせん。 私が最終的に行った解決策は、私がここに投皿したものでし@laszbaloが蚀ったように、それはドキュメントが@ laszbaloの゜リュヌションたたはNODE_ENV test私の盎接泚入のいずれかが機胜しおいるようです。

䞍思議なこずに、 "transformIgnorePatterns": [ ]を䜿甚するず、babelはテスト枈みのファむルを倉換したすが、 transformIgnorePatternsオプションを陀倖するず、babelは䜕もしたせん...テスト専甚の単玔な.babelrcがありたすIプロダクションにはwebpackを䜿甚したすが、jestのテストには䜿甚したせん

{
  "env": {
    "test": {
      "plugins": ["transform-es2015-modules-commonjs"]
    }
  }
}

https://github.com/facebook/jest/issues/2550#issuecomment -290812720からアむデアを埗たした。これは、770たたはここで他に䜕も圹に立たなかったためです...

私が䜕をするかは関係ありたせん、それは垞に同じ゚ラヌです

    /.../node_modules/@expo/react-native-action-sheet/ActionSheet.ios.js:3
    import React from 'react';
    ^^^^^^

    SyntaxError: Unexpected token import

      at ScriptTransformer._transformAndBuildScript (node_modules/jest-runtime/build/ScriptTransformer.js:289:17)
      at Object.<anonymous> (node_modules/@expo/react-native-action-sheet/index.js:1:107)
      at Object.<anonymous> (node_modules/react-native-gifted-chat/src/GiftedChat.js:10:29)
{
  "env": {
    "production": {
      "plugins": ["transform-es2015-modules-commonjs"]
    },
    "development": {
      "plugins": ["transform-es2015-modules-commonjs"]
    },
    "test": {
      "plugins": ["transform-es2015-modules-commonjs"]
    }
  },
  "presets": [
    "react-native"
  ],
  "plugins": [
    ["module-resolver", {
            "cwd": "babelrc",
        }]
  ]
}
"jest": {
    "preset": "react-native",
    "setupFiles": [
        "./__tests__/setup.js"
    ],
    "testRegex": "/__tests__/.*\\.spec\\.js$"
}

私は同じ問題を抱えおいたす。 私は私の冗談に以䞋を远加したした

"jest": {
     "preset": "react-native",
     "transformIgnorePatterns": [
          "node_modules/(?!react-native|react-navigation)/"
      ]
  }

Jestを実行するず、次の゚ラヌが発生したす。

ReferenceError「/ Users / caalcaz / Documents / Projects / Enterprise-app / node_modules / enzyme / .babelrc」で指定された䞍明なプラグむン「transform-replace-object-assign」が0で、「/ Users / caalcaz /」を基準にしお解決しようずしたしたDocuments / Projects / Enterprise-app / node_modules / enzyme "

@calcazarあなたのnode_modules / enzyme / .babelrcには䜕がありたすか

私はbabel-jest_and_ts-jestを䜿甚しおそれを解決したした。 package.json内

"jest": {
    "modulePaths": [
        "<rootDir>/src",
        "<rootDir>/node_modules"
    ],
    "globals": {
        "NODE_ENV": "test"
    },
    "verbose": true,
    "moduleFileExtensions": [
        "ts",
        "tsx",
        "js",
        "jsx",
        "json"
    ],
    "transform": {
        "^.+\\.jsx?$": "babel-jest",
        "^.+\\.tsx?$": "<rootDir>/node_modules/ts-jest/preprocessor.js"
    },
    "transformIgnorePatterns": ["/node_modules/(?!lodash-es)"], // <-- this allows babel to load only the node modules I need (which is lodash-es) and ignore the rest
    "testRegex": "test/.*\\.spec\\.ts$",
    "setupFiles": [
        "<rootDir>/test/jest-pretest.ts"
    ],
    "testEnvironment": "node",
    "moduleNameMapper": {
        "aurelia-(.*)": "<rootDir>/node_modules/$1"
    },
    // some coverage and results processing options
},

次に、.babelrc私はテストにのみ䜿甚したす

{
    "env": {
        "test": {
        "plugins": ["transform-es2015-modules-commonjs"]
        }
    }
}

それが誰かを助けるこずを願っおいたす これはaureliaアプリ甚なのでYMMV

@thinkOfaNumber

これが私が芋おいるものです。 参考たでに、私はEnzymeV3.0を実行しおいたす

{
  "presets": ["airbnb"],
  "plugins": [
    ["transform-replace-object-assign", "object.assign"],
  ],
}

@thinkOfaNumber提案を投皿しお

"jest": {
    "modulePaths": [
        "<rootDir>/src",
        "<rootDir>/node_modules"
    ],
    "transformIgnorePatterns": ["/node_modules/(?!lodash-es)"], // <-- this allows babel to load only the node modules I need (which is lodash-es) and ignore the rest

これは私がそれを必芁ずする郚分です。 どうもありがずう

同じ堎所に@rochapablo 。 運が良ければ

いいえ、今のずころ、゚ラヌをスロヌする特定のファむルテストを無芖しおいたす

続く。 私は同じ問題を抱えおいたすが、これたでのずころ䜕も解決しおいないようです。

フォロヌも

@rochapabloこの問題の解決に
あなたが蚀及した問題のため、私は子ずしおGiftedChatを持぀コンポヌネントもテストできたせん...

@todorone 、远加しおみおください

"transformIgnorePatterns": [
      "node_modules/(?!react-native-gifted-chat)/"
]

@rochapabloヒントをありがずう、しかし残念ながらそれは圹に立ちたせんでした。 transformIgnorePatterns正芏衚珟でさらに遊んでみたしたが、圹に立ちたせんでした。

"transform": { "^.+\\.js$": "babel-jest", "^.+\\.jsx?$": "babel-jest" },
䞊蚘を冗談に远加したす

@rochapablo jest-expoプリセットを詊したしたか 運が良ければ 私はそれずtransformIgnorePatterns別の構文の問題に遭遇したした

それでも私にはうたくいきたせん。 いたいたしいむンポヌト゚ラヌが発生したす。
image

動的なimportである@testacode 、必芁なbabelプラグむンを远加したしたか https://facebook.github.io/jest/docs/en/webpack.html#using-with-webpack-2の䞋郚を参照しおください

@SimenBありがずう、それは私が欠けおいたものです

それは面癜いです。 最近の曎新により、babel-jestの自動远加が削陀されたした。 だから実行䞭

npm install babel-jest --save-dev

蚭定に他に䜕も远加しないず、問題が修正されたした。 ゚ラヌメッセヌゞで、それがもう含たれおいないこずをより明確にする必芁があるず思いたす...

私はbabel-jestをむンストヌルするだけで解決したした
npm i babel-jest

たた、次の内容の.babelrcファむルを䜜成するこずを忘れないでください。

{
    "presets": ["env", "react"]
}

これは私のために働きたす

.babelrc 

{
    "presets": ["env", "stage-3"],
    "plugins": ["transform-class-properties"]
}

package.json 

"scripts": {
    "test": "jest --forceExit"
},
"devDependencies": {
    "babel-core": "^6.11.4",
    "babel-jest": "^21.2.0",
    "babel-plugin-transform-class-properties": "^6.24.1",
    "babel-preset-env": "^1.6.1",
    "babel-preset-stage-3": "^6.24.1",
    "jest": "^21.2.0"
}

@hqroそれは私のために働いた、ありがずう👍

私の堎合、 .babelrcファむルにこれがありたした。

{
  "presets": ["react", ["env", { "modules": false }]],
  "plugins": [ ... ]
}

そしお、「テスト」環境が代わりにモゞュヌルを䜿甚しおいるこずを確認するだけで枈みたした。

{
  "presets": ["react", ["env", { "modules": false }]],
  "plugins": [ ... ],
  "env": {
    "test": {
      "presets": ["react", "env"],
    }
  }
}

@ nemoDreamer1぀の構成でプラグむンずプリセットを繰り返さないこずをお

{
  "presets": ["react", ["env", { "modules": false }]],
  "plugins": [ ... ],
  "env": {
    "test": {
      "plugins": ["transform-es2015-modules-commonjs"],
    }
  }
}

䜕をしようずしおも、゚ラヌが発生したした。

> cross-env NODE_ENV=test jest --no-cache

 FAIL  src\views\Pay\__tests__\Pay.test.js
  ● Test suite failed to run

    C:\Users\***\Documents\Project\***\node_modules\ne-rc\lib\index.js:1
    ({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){import _Alert from './Alert';
                                                                                             ^^^^^^

    SyntaxError: Unexpected token import

      11 |  * <strong i="6">@param</strong> {Array<Object>} [data] 每䞀种分期的诊细信息 data=[{},{}...]
      12 |  * <strong i="7">@param</strong> {Number} [defaultSelected] 默讀选䞭的䞋标
    > 13 |  * <strong i="8">@param</strong> {Funtion} [onClick] 点击觊发事件
      14 |  * <strong i="9">@param</strong> {Number} [columnNum] 䞀行有倚少列
      15 |  *
      16 |  * <strong i="10">@example</strong>

      at ScriptTransformer._transformAndBuildScript (node_modules/jest-runtime/build/script_transformer.js:316:17)
      at Object.<anonymous> (src/components/Installment/Installment.jsx:13:13)
      at Object.<anonymous> (src/components/Installment/index.js:8:20)

Test Suites: 1 failed, 1 total
Tests:       0 total
Snapshots:   0 total
Time:        3.693s

これが私の蚭定ファむルです。

* .babelrc *

{
  "presets": [
    [
      "env",
      {
        "modules": false
      }
    ],
    // webpack understands the native import syntax, and uses it for tree shaking

    "es2015",
    "stage-2",
    // Specifies what level of language features to doPay.

    // Stage 2 is "draft", 4 is finished, 0 is strawman.

    // See https://tc39.github.io/process-document/

    "react"
    // Transpile React components to JavaScript
  ],
  "env": {
    "test": {
      "presets": ["env", "react", "stage-2"],
      "plugins": [
        "transform-es2015-modules-commonjs"
      ]
    }
  }
}

package.json

{
  "main": "index.js",
  "scripts": {
    "dev": "cross-env NODE_ENV=development node ./server/server.js",
    "api": "cross-env NODE_ENV=api node ./server/server.js",
    "clean": "rm -rf dist",
    "dist": "npm run clean && cross-env NODE_ENV=production webpack --config ./webpack/index.js --progress --colors",
    "online": "cross-env NODE_ENV=development node ./server/online.js",
    "lint": "node ./node_modules/eslint/bin/eslint.js ./src --fix",
    "test": "cross-env NODE_ENV=test jest --no-cache",
    "test:watch": "npm test --watch",
    "stats": "npm run clean && cross-env NODE_ENV=production webpack --config ./webpack/index.js --profile --json > stats.json",
    "gatest": "node ./service/gatest.js"
  },
  "pre-commit": [
    "lint"
  ],
  "jest": {
    "verbose": true,
    "modulePaths": [
      "<rootDir>/src",
      "<rootDir>/node_modules"
    ],
    "setupFiles": [
      "./test/setup.js"
    ],
    "moduleFileExtensions": [
      "js",
      "jsx",
      "json",
      "md"
    ],
    "moduleDirectories": [
      "node_modules"
    ],
    "testMatch": [
      "<rootDir>/src/**/__tests__/**/*.{js,jsx,mjs}",
      "<rootDir>/src/**/?(*.)(spec|test).{js,jsx,mjs}"
    ],
    "transform": {
      "^.+\\.(js|jsx|mjs)$": "<rootDir>/node_modules/babel-jest",
      "^.+\\.css$": "<rootDir>/config/jest/cssTransform.js",
      "^(?!.*\\.(js|jsx|mjs|css|json)$)": "<rootDir>/config/jest/fileTransform.js"
    },
    "testEnvironment": "jsdom"
  },
  "devDependencies": {
    "asset-inject-html-webpack-plugin": "^0.9.1",
    "autoprefixer": "^7.1.3",
    "babel": "^6.23.0",
    "babel-core": "^6.26.0",
    "babel-eslint": "^8.2.1",
    "babel-jest": "^22.4.1",
    "babel-loader": "^7.1.2",
    "babel-plugin-transform-es2015-modules-commonjs": "^6.26.0",
    "babel-preset-env": "^1.6.1",
    "babel-preset-es2015": "^6.24.1",
    "babel-preset-jest": "^22.4.1",
    "babel-preset-react": "^6.24.1",
    "babel-preset-stage-2": "^6.24.1",
    "babel-register": "^6.26.0",
    "better-npm-run": "0.1.0",
    "body-parser": "^1.17.2",
    "chalk": "^2.1.0",
    "cross-env": "^5.0.5",
    "css-loader": "^0.28.5",
    "deepmerge": "^2.0.1",
    "enzyme": "^3.3.0",
    "eslint": "^4.5.0",
    "eslint-config-standard": "^11.0.0-beta.0",
    "eslint-config-standard-jsx": "^4.0.2",
    "eslint-plugin-import": "^2.2.0",
    "eslint-plugin-node": "^5.1.1",
    "eslint-plugin-promise": "^3.5.0",
    "eslint-plugin-react": "^7.3.0",
    "eslint-plugin-standard": "^3.0.1",
    "exports-loader": "^0.6.4",
    "express": "^4.15.4",
    "extract-text-webpack-plugin": "^3.0.0",
    "file-loader": "^1.1.6",
    "git-repo-info": "^1.4.1",
    "glob": "^7.1.2",
    "happypack": "^4.0.1",
    "html-loader": "^0.5.1",
    "html-webpack-plugin": "^2.30.1",
    "idb": "^2.0.4",
    "imports-loader": "^0.7.0",
    "jest": "^22.4.2",
    "lodash.range": "^3.2.0",
    "mocha": "^5.0.0",
    "node-sass": "^4.5.3",
    "node-xlsx": "^0.11.2",
    "postcss-loader": "^2.0.6",
    "pre-commit": "^1.2.2",
    "react-hot-loader": "^3.0.0-beta.6",
    "react-test-renderer": "^16.2.0",
    "redux-logger": "^3.0.6",
    "regenerator-runtime": "^0.11.1",
    "request": "^2.74.0",
    "require-reload": "^0.2.2",
    "rimraf": "^2.6.0",
    "sass-loader": "^6.0.6",
    "script-loader": "^0.7.0",
    "sinon": "^4.2.0",
    "style-loader": "^0.19.1",
    "uglify-js": "^3.0.28",
    "url-loader": "^0.6.2",
    "webpack": "^3.5.5",
    "webpack-bundle-analyzer": "^2.9.0",
    "webpack-dev-middleware": "^2.0.4",
    "webpack-dev-server": "^2.7.1",
    "webpack-hot-middleware": "^2.18.2",
    "webpack-merge": "^4.1.0",
    "worker-loader": "^1.1.0"
  }
}

プリセットを.babelrcに蚭定するずき"env"が角かっこ["env"]間にあるこずを確認しおください。

  "env": {
    "test": {
      "presets": [["env"], "stage-2"],
      "plugins": ["transform-es2015-modules-commonjs", "dynamic-import-node"]
    }
  }

特に、構成に"modules: false"がある堎合。

たた、デフォルトでは、 jestはnode_modulesファむルを倉換したせん。https //facebook.github.io/jest/docs/en/configuration.html#transformignorepatterns-array-stringを参照しお

そのため、 import ...はnode_modulesファむルでは機胜したせん。 これを無効にするには、次を远加できたす。

transformIgnorePatterns: []

あなたのjest蚭定に。

お圹に立おれば

@florentchauveauありがずう、この仕事は私のために。

@todorone @rochapablo皆さんはこれに察する解決策を芋぀けたしたか 私も同じ問題に盎面しおいたす-

    import * as React from 'react';
    ^^^^^^

    SyntaxError: Unexpected token import

      at ScriptTransformer._transformAndBuildScript (node_modules/jest-runtime/build/script_transformer.js:316:17)
      at Object.<anonymous> (node_modules/@expo/react-native-action-sheet/index.js:1:107)

を䜿甚したコンポヌネントのテストでのみこの゚ラヌが発生したす
GiftedChat - https//github.com/FaridSafi/react-native-gifted-chat。
おそらくこれは、 @expo/react-native-action-sheetがES6モゞュヌルずしお出荷されおおり、 GiftedChatが内郚で䜿甚しおいるためですか しかし、プリセットが远加された堎合、 jest / ts-jest よくわかりたせんがそれを凊理するはずです。 これが私のJest蚭定です-

    "jest": {
        "preset": "react-native",
        "moduleFileExtensions": [
            "ts",
            "tsx",
            "js"
        ],
        "transform": {
            "^.+\\.(js)$": "<rootDir>/node_modules/babel-jest",
            "\\.(ts|tsx)$": "<rootDir>/node_modules/ts-jest/preprocessor.js"
        },
        "transformIgnorePatterns": [
            "node_modules/(?!rn-placeholder|react-native|react-navigation|native-base|react-native-datepicker|native-base-shoutem-theme|@shoutem/animation|@shoutem/ui|tcomb-form-native)"
        ],
        "setupTestFrameworkScriptFile": "<rootDir>/src/__mocks__/Adapter.js",
        "testRegex": "(\\.(test|spec))\\.(ts|tsx|js)$",
        "testPathIgnorePatterns": [
            "\\.snap$",
            "<rootDir>/node_modules/",
            "<rootDir>/lib/"
        ],
        "moduleNameMapper": {
            "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/src/__mocks__/fileMock.js"
        },
        "cacheDirectory": ".jest/cache"
    },

ず.babelrc -

{
    "presets": ["react-native"]
}

私は䞊蚘のほずんどすべおの解決策を詊したした。 それらのどれも私のシナリオでは機胜したせんでした。 助けが必芁です。

@ omkarjoshi-cc私が取り組んでいたずきに私のために働いた唯䞀のこずは、゚ラヌを発生させおいたパッケヌゞを远加するこずでした。私の堎合は次のずおりです。

"transformIgnorePatterns": [
      "node_modules/(?!react-native-gifted-chat)/"
]

@rochapabloうん。 私はそれを詊しおみたした。 動䜜したせんでした。 他に芋逃しおいるものはありたすか これは本圓にむラむラしたす😓

私はbabel7を䜿甚しおいたすが、私も「transformIgnorePatterns」を䜿甚できたせんでした。さたざたな正芏衚珟を詊したした/

私が抱えおいる問題は、1぀の䟝存関係にネむティブのes6クラスがあり、それを拡匵するクラスが゜ヌスにあるこずです。 Babelによっおトランスパむルされた「es5クラス」はネむティブクラスを拡匵できないため、jestでランタむム゚ラヌが発生したす。

どういうわけか「babel / prefix-env」がコヌドがjestタヌゲットノヌドにトランスパむルされる方法の邪魔になっおいるず思い始めたした。これはブラりザのタヌゲットに埓わない可胜性がありたすが、それでもわかりたせん。

.babelrcで「present-env」を䜿甚するずきに、jestのためにすべおをes5に匷制する方法を知っおいる人はいたすか

私が考えるこずができる唯䞀の回避策は、babel-jestを䜿甚せず、webpackbabel-loaderを䜿甚し、倉換するファむルのルヌルが機胜するを実行しおから、jestを実行するこずです-> webpack -w䜿甚を考えおい

远加する

"transformIgnorePatterns": [
      "node_modules/(?!react-native-gifted-chat|@expo/react-native-action-sheet)"
]

私のために働いた。 @rochapabloに感謝し

私はこの問題に苊しんでいたす。 テストされおいる出力フォルダヌは、 importなどのES6構文である必芁がありたすか、それずもテストできたせんか 出力ファむルにcommonjsが衚瀺されたせんreact-nativeで䜿甚

私は同じ問題に盎面しおいお、このペヌゞは問題を解決したす
https://babeljs.io/docs/plugins/transform-es2015-modules-commonjs/

䜕らかの理由で、 babel-jest代わりに、以䞋を䜿甚するず、私にずっおはうたくいきたした明らかにtransformIgnorePatterns尊重しおください

"transform": {
      "^.+\\.(js|jsx|ts|tsx)$": "ts-jest-babel-7"
    }

ずころで、この問題はここで再開する必芁がありたすか 倚くの人々が困難に盎面しおいたす

私の堎合、この問題は、babel構成のテストファむルを無芖したこずが原因であるこずがわかりたした。 関係のない理由で、.babelrcに"ignore": ["**/*.test.js"]がありたした。

解決策は、実皌働環境に察しお無芖オプションのみを蚭定するこずでした。぀たり、次のようになりたす。

"env": {
    "production": {
      "ignore": [
        "**/*.test.js"
      ]
    }
  }

たたは、テスト環境に特別な無芖パタヌンを指定するこずもできたす。

たくさん詊した埌、これが私の堎合です

  1. babe-jestの正しいバヌゞョンがあるこずを確認しおください*
  2. プリセット以前にむンストヌルされたを䜿甚した.babelrc構成があるこずを確認しおください
  3. それでも「予期しないトヌクン」の゚ラヌがスロヌされる堎合は、矢印関数が認識されおいない可胜性がありたす。このbabelプラグむンは、「transform-class-properties」がそれらをbabel構成に含めるのに圹立ちたす。

これが私の蚭定です。

.babelrc

{
  "plugins": [
    "transform-es2015-modules-commonjs",
    "transform-class-properties"
  ]}

酵玠甚setupTests.js

import { configure } from "enzyme";
import Adapter from "enzyme-adapter-react-15";
configure({ adapter: new Adapter() });

package.json

 "dependencies": {
    "babel-cli": "^6.26.0",
    "babel-plugin-transform-class-properties": "^6.24.1",
    "eslint": "^4.19.1",
    "react": "^15.4.2",
    "react-dom": "^15.4.2",
    "react-test-renderer": "^15.6.2",
     "babel-jest": "^22.4.3",
    "babel-preset-env": "^1.6.1",
    "babel-preset-react": "^6.24.1",
    "enzyme": "^3.3.0",
    "enzyme-adapter-react-15": "^1.0.5",
    "gh-pages": "^0.12.0",
    "jest": "^22.4.3",
    "react-addons-test-utils": "^15.4.2",
    "regenerator-runtime": "^0.11.1"
  },
"jest": {
    "globals": {
      "NODE_ENV": "test"
    },
    "verbose": true,
    "moduleDirectories": ["node_modules", "src"],
    "transform": {
      "^.+\\.jsx?$": "babel-jest"
    },
    "moduleFileExtensions": ["js", "jsx"],
    "setupTestFrameworkScriptFile": "<rootDir>/src/setupTests.js"
  }

yarn add --dev babel-jest babel-core regenerator-runtimeこれを远加するずうたくいきたした

私の堎合、それはWindowsずその愚かな暩限の問題であり、おそらくenv倉数を正しく蚭定しおいたせんでした。
gitbashから昇栌されたcmd.exe切り替えお、再び䜜業を開始したした。

私が持っおいるjestのように定矩script 名前を倉曎したtest:jestのようにtest 私の䞭に、 package.json 。 ただし、 npm run testを実行するず、 SyntaxError: Unexpected token importたす。

root<strong i="14">@browserify</strong>:/var/machine-learning/src# npm run test

> [email protected] test /var/machine-learning/src
> jest --config /var/machine-learning/test/jest/jest.config.js

 FAIL  ../test/jest/__tests__/layout/analysis.test.jsx
  ● Test suite failed to run

    /var/machine-learning/test/jest/__tests__/layout/analysis.test.jsx:6
    import React from 'react';
    ^^^^^^

    SyntaxError: Unexpected token import

      at ScriptTransformer._transformAndBuildScript (../../src/node_modules/jest-runtime/build/script_transformer.js:316:17)

 FAIL  ../test/jest/__tests__/layout/page.test.jsx
  ● Test suite failed to run

    /var/machine-learning/test/jest/__tests__/layout/page.test.jsx:6
    import React from 'react';
    ^^^^^^

    SyntaxError: Unexpected token import

      at ScriptTransformer._transformAndBuildScript (../../src/node_modules/jest-runtime/build/script_transformer.js:316:17)

 FAIL  ../test/jest/__tests__/content/register.test.jsx
  ● Test suite failed to run

    /var/machine-learning/test/jest/__tests__/content/register.test.jsx:6
    import React from 'react';
    ^^^^^^

    SyntaxError: Unexpected token import

      at ScriptTransformer._transformAndBuildScript (../../src/node_modules/jest-runtime/build/script_transformer.js:316:17)

 FAIL  ../test/jest/__tests__/content/login.test.jsx
  ● Test suite failed to run

    /var/machine-learning/test/jest/__tests__/content/login.test.jsx:6
    import React from 'react';
    ^^^^^^

    SyntaxError: Unexpected token import

      at ScriptTransformer._transformAndBuildScript (../../src/node_modules/jest-runtime/build/script_transformer.js:316:17)

----------|----------|----------|----------|----------|-------------------|
File      |  % Stmts | % Branch |  % Funcs |  % Lines | Uncovered Line #s |
----------|----------|----------|----------|----------|-------------------|
All files |        0 |        0 |        0 |        0 |                   |
----------|----------|----------|----------|----------|-------------------|
Test Suites: 4 failed, 4 total
Tests:       0 total
Snapshots:   0 total
Time:        3.782s
Ran all test suites.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] test: `jest --config /var/machine-learning/test/jest/jest.config.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] test script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2018-05-08T01_50_42_754Z-debug.log

察応するjest.config.jsも定矩したした

module.exports = {
  'verbose': true,
  'collectCoverage': true,
  'coverageDirectory': '/var/machine-learning',
  'moduleDirectories': ['/var/machine-learning/src/node_modules'],
  'transformIgnorePatterns': [
    '/var/machine-learning/src/node_modules'
  ]
}

react-nativeずtransformIgnorePatternsに぀いおたくさんのこずを芋おいたす。 幞いなこずに、そしお䞍幞なこずに、私はそれを䜿甚したせん。 これはなんずずらえどころのないバグです。 .babelrcを定矩する必芁がありたすか、それずもpackage.json jestディレクティブを远加する必芁がありたすか。 もしそうなら、私の冗談scriptはどのようにしおバベルに぀いお知っおいたすか package.jsonを含む同じディレクトリに.babelrcを远加しようずしたしたが、運がありたせんでした。

{
  "env": {
    "test": {
      "presets": ["env", "stage-2", "react"]
    }
  }
}

泚䞊蚘の問題に関する私の元の問題を誰かが远跡したい堎合。

たくさんの浮気をした埌、私は次の問題を芋぀けたした

  • Jestはデフォルトでbabel6を実行したす。 Babel 6は.babelrc.jsファむルを怜玢したせん。 .babelrcファむルの堎合のみ。 JSONの代わりにJS構成がある堎合、構成を読み取らないため、プラグむンは䜿甚されたせん。 これは私にずっおunexpected token: importになりたした。
  • babel-7-jestは叀いBabel 7コア゚ンゞンで実行されるため、新しいプロポヌザルプラグむンのサポヌトが䞭断されたす。
  • npm i -D [email protected]問題が完党に修正されたようです。 私のbabel蚭定にはenv.testさえありたせんし、jest蚭定もありたせん。

Jestがbabel-core探しおいるように芋えたすしたがっお、 @babel/coreを無芖したす。そうでない堎合は、Babel 6にフォヌルバックし、蚭定をスキップしたす。 ただし、最新のbabel-coreブリッゞバヌゞョンがむンストヌルされるず、远加の構成なしでES6モゞュヌルが解析されたす。

kasvtvに感謝したす 私の倉曎.babelrc.jsに.babelrcずむンストヌルnpm i -D [email protected] 。 今、私のテストはbabel-jest実行されたす

.js構成ファむルを安党に䜿甚できたす。 Babelがこのタむプのファむルを読み取るのはバヌゞョン7以降のみであり、JestがBabelのバヌゞョン7を䜿甚するには[email protected]が必芁

誰かが興味を持っおいるなら、私は私の冗談ず酵玠テストを機胜させたした。 察応する構成ファむルを自由に調べおください。 たた、同じプロゞェクトのフロント゚ンド開発を手䌝うこずに興味がある人はいたすか

antdやrc-calendarなどのラむブラリがモゞュヌルのむンポヌトに倱敗したために同様の問題が発生したした。解決策は、 transformIgnorePatternsを構成するこず

transformIgnorePatterns: [ 'node_modules/?!(antd|rc-.+)/' ],

たぶんmoduleDirectories圹に立ちたした

moduleDirectories: ['node_modules'],

最新のreact-nativeバヌゞョンに曎新し、babel 7に曎新する必芁がありたしたが、同じ゚ラヌが発生したす。

これらのnode_modulesをtransformIgnorePatterns远加しおも、䜕も実行されなくなったようです。

私の堎合、それは私がもはやBabelでモゞュヌルをトランスパむルしおいないためであり、それをあなたのbabelrcのtest郚分に戻すこずに぀いおのスタヌトガむドにメモがありたす。

@kasvtv @ willb335私は

package.json

  "babel": {
    "presets": [
      "./.babelrc.js"
    ]
  },

@ material / baseラむブラリを䜿甚するず同じ問題が発生したす。解決するために、誰かがpackage.jsonず.babelrcファむルを提䟛できたすか。 䞊蚘のフィヌドバックを詊したしたが、混乱したした...

私にずっおの解決策は、.babelrcファむルに「env」プリセットを远加するこずでした。
{{
"presets"["env"、 "es2016"、 "stage-0"、 "react"]
}

このリンク情報を䜿甚しお私の問題を解決したした
https://jestjs.io/docs/en/webpack.html

@negarinehあなたのリンクは機胜したせん

@haywirezが提䟛するtransformIgnorePatterns゜リュヌションを䜿甚するず、

SyntaxError: Unexpected token import

゚ラヌに

TypeError: Cannot read property 'DocumentDir' of undefined

゚ラヌ。 ぀たり、パッケヌゞrn-fetch-blobは未定矩になりたした。

線集

実際、 transformIgnorePatterns: [],をjest.config.js远加するだけで、SyntaxErrorがTypeErrorに倉曎されたす。

@schumannd申し蚳ありたせんが、間違えたした。リンクからペヌゞにリダむレクトされおいたす。 リンクで提䟛されおいる構成で「jest.config.js」を蚭定するず、機胜するはずです。
゚ラヌが.cssファむルのむンポヌトに関するものである堎合、リンクに䟋のようなモックファむルを远加するか、この構成で「identity-obj-proxy」をむンストヌルするだけで機胜するはずです。

npm install --save-dev identity-obj-proxy

jest.config.jsCSSモゞュヌル甚

{ "jest": { "moduleNameMapper": { "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/__mocks__/fileMock.js", "\\.(css|less)$": "identity-obj-proxy" } } }

たた、これはプロゞェクトのルヌトディレクトリにある私の.babelrcファむルですtest.config.jsもルヌトにある必芁がありたす

たず、babel install "babel-jest"ず "regenerator-runtime"を䜿甚するには

npm --dev babel-jest babel-core regenerator-runtime

次に、この構成を.babelrcファむルに远加したす。

{ "presets": ["env", "react"], "plugins": ["transform-class-properties"], "env": { "production": { "plugins": ["transform-es2015-modules-commonjs"] }, "test": { "presets": ["env", "react"], "plugins": ["transform-export-extensions"], "only": [ "./**/*.js", "node_modules/jest-runtime" ] } } }

お圹に立おれば。
https://jestjs.io/docs/en/webpack.html

私の堎合、次の.babelrc远加するず機胜したす

{
  "presets": ["env", "react"],
  "env": {
    "test": {
      "plugins": ["transform-class-properties"]
    }
  }
}

次に、 NODE_ENV=test jestを䜿甚しおテストを実行したす

これは䞀郚の人々にのみ圹立ちたす。

私の問題は、jestがJSファむルを解析できないこずが原因でした。 代わりにrequire䜿甚したした。

圌ら。 私はbabelrcファむルを持っおいないのでこれらの解決策はどれも機胜したせん... babel.config.jsだけです。 babel.config.jsでどのように修正したすか ありがずう

babel構成ず、他の怜玢からのいく぀かの远加オプション esmオプションなどに぀いお、䞊蚘の説明から倚くのこずを詊したしたが、䜕も機胜したせんでした。 importキヌワヌドは、匕き続きjestから゚ラヌを出したした。 es6むンポヌトを䜿甚しおモゞュヌルをテストするのが非垞に難しいのは悲しいこずです。

最埌に、これは私のために働いたものです ts-jest

珟圚、コヌド内でタむプスクリプトを䜿甚しおいたせんが、 ts-jestすべお同じように䜿甚しおいたすタむプスクリプトは内郚的にむンポヌトやその他すべおをサポヌトしおいるため。 これは、jestにjavascriptコヌドを正しく理解させるためだけのものです。

次の手順に埓いたした。
npm i -D jest typescript ts-jest @types/jest
jest.config.jsファむル内
transform: { "\\.js$": "ts-jest", transformIgnorePatterns: [], },
Jestは、typescriptがjsファむルのコンパむルを蚱可しないこずに぀いお䞍平を蚀うかもしれたせん。 以䞋のオプションを䜿甚しおtsconfig.jsonファむルを远加したす。
{ "compilerOptions": { "allowJs": true, "module": "commonjs", "noImplicitAny": true, "removeComments": true, "preserveConstEnums": true, "sourceMap": true } }
babel関連するすべおの構成ずファむルを削陀したした。 npm構成は次のようになりたす。
"scripts": { "test": "jest --runInBand --detectOpenHandles --no-cache --config ./jest.config.js" }
これが茞入に関しお同様の問題に盎面しおいる人に圹立぀こずを願っおいたす。

JSむンポヌトを䜿甚しお動䜜するセットアップを備えたベアボヌンリポゞトリを持っおいる人はいたすか

JSむンポヌトを䜿甚しお動䜜するセットアップを備えたベアボヌンリポゞトリを持っおいる人はいたすか

https://github.com/kasvtv/react-starter

元の議論ずは無関係である可胜性が高い同様の問題を怜玢しおいるずきにこのペヌゞを芋぀けた人ずしお。 私の問題は、 https //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import#Dynamic_Importsで説明されおいる関数のような動的むンポヌトを䜿甚したこずが原因https//github.com/airbnb/babel-plugin-dynamic-import-nodeで入手可胜なこの機胜のbabelプラグむンを远加し、それに応じお.babelrcを倉曎するこずで解決されたした。

{
    ...
    "env": {
        "test": {
            "plugins": ["dynamic-import-node"]
        }
    ...
}

オプション{ modulefalse }を削陀するだけで、機胜したす

"presets": [
    ["@babel/env", {module: false} ],  
    "@babel/preset-react",
    "@babel/preset-typescript"
  ]

jest configにtransformIgnorePatterns: []を远加し、babelrcにtransform-es2015-modules-commonjsを远加するず、問題が解決したした。
冗談^ 23.1.0、
バベル6.26.3

@ngmgitですが、これはすべおのnode_modulesをトランスパむルするこずを意味したすが、これはあたり最適ではありたせん...

私の堎合、
.babelrcは機胜したせんが、 .babelrc同じ蚭定をbabel.config.js移動するこずで問題を解決したした。

お圹に立おば幞いです。

ここにあるすべおのものは私にはうたくいきたせん。 ReactアプリケヌションをテストするためのFacebookの公匏テストラむブラリが蚭定が難しいレベルだずは信じられたせん。私は8幎以䞊の経隓を持぀開発者であり、倚くの問題や質問を乗り越えお成功せずに1日5時間を過ごしたした。スタックオヌバヌフロヌ時。

jest + react-testing-libraryで動䜜するようにreactアプリケヌションを構成できたせん

これは、jestが凊理できない新しい構文゚ラヌを毎回私に叫んで

私は本圓にあきらめたこずで心から終わりたした、私はもうそれにもっず時間を費やしおいたせん、私はおそらくプロゞェクトにこのラむブラリを远加するこずをキャンセルするでしょう。

真剣に、jest + react-testing-libraryを䜿甚しおreactアプリケヌションをテストしたい人のためのデフォルト蚭定がないのを芋るのは非垞に奇劙です。

倚くのSO回答ずgithubの問題で䜕時間も詊行錯誀した埌、 @ cpojerの回答は私のために働きたした 🙏

私を助けたいく぀かの远加のコンテキストで最新か぀最高のもので曎新されたした

babel.config.js

module.exports = {
  "env": {
    "production": {
-      "plugins": ["transform-es2015-modules-commonjs"]
# new kid on the block
+      "plugins": ["@babel/plugin-transform-modules-commonjs"]
    }
  }
}

jest.config.js

module.exports = {
  // if you're also using typescript
  preset: "ts-jest",
  testEnvironment: "node",
  verbose: true,
  // registers babel.config.js with jest
  transform: {
    "^.+\\.js$": "babel-jest",
  },
  // explicitly include any node libs using ESM modules
  transformIgnorePatterns: ["node_modules/?!(<ESM module here>|<another here>|<etc...>)"],
}

䟝存関係

この問題は、プロゞェクトのルヌトディレクトリでjestを実行しおいない堎合にも発生する可胜性がありたす...

react-nativeたたはjest-expoプリセットを䜿甚しおいお、プロゞェクトに.jsファむルがある堎合は、jest構成で䞀臎するようにtransformを蚭定する必芁がありたす。
https://jestjs.io/docs/en/configuration.html#transform -objectstring-pathtotransformer--pathtotransformer-objectの匏を䜿甚したしたが、機胜したした。

transform: { '^.+\\.[jt]sx?$': 'babel-jest' }

pnpmサポヌト

pnpmナヌザヌのためにここにメモを残したいず思いたす。

次の䟋は、pnpmパスが異なるため、pnpmナヌザヌには機胜したせん。 䞊蚘の正芏衚珟は、フラット化されたnode_modules dirでのみ機胜したす。

/xxx/node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/antd/es/input/String

参照 https 

"transformIgnorePatterns": [
  "node_modules/(?!(react-native|my-project|react-native-button)/)"
]

https://jestjs.io/docs/en/tutorial-react-native#transformignorepatterns -customization

修理

.*远加しお、最埌の発生に察しお負の先読みを䜿甚したす。

node_modules/(?!(.*antd/es)/)
このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡