Jest 解析扩展

Jest resolve extensions

我有几个 webpack 配置文件,比方说 webpack.native.jswebpack.web.js,每个都有不同的解析,根据脚本的不同,它将与 app.native.jsapp.web.js 变成 bundle.js.

现在用Jest+酶进行测试,是否可以有类似的"resolve"?

理想情况下,有 npm web:testnpm native:test,它将解析并测试相应的平台代码。

我当前的配置:(它运行所有,但它会导致问题,因为它发现了一些特定于平台的代码)

 "jest": {
    "collectCoverageFrom": [
      "main/shared/**/*.{js,jsx}",
      "!main/**/*.test.{js,jsx}",
      "!main/App.js",
      "!main/**/index.js",
      "!**/node_modules/**"
    ],
    "moduleFileExtensions": ["web.js", "js", "jsx"],
    "moduleDirectories": [
      "node_modules",
      "main"
    ],
    "moduleNameMapper": {
      "\.(css|less)$": "<rootDir>/__mocks__/styleMock.js",
      "\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/__mocks__/fileMock.js"

    },
    "testRegex": "(tests.*|\.(test|spec))\.(js|jsx)$"
  }

您可以将开玩笑设置从 package.json 移动到不同环境的几个文件中,并 运行 使用它 config 参数开玩笑。