【问题标题】:TypeError: Jest: a transform must export a `process` function jestTypeError: Jest: a transform must export a `process` function jest
【发布时间】:2022-03-28 03:25:08
【问题描述】:

运行“npm test”时出现以下错误:

 FAIL  __tests__/unit/domain/services/demo-service.ts
  ● Test suite failed to run

    TypeError: Jest: a transform must export a `process` function.

      at ScriptTransformer._getTransformer (node_modules/@jest/transform/build/ScriptTransformer.js:357:15)
      at ScriptTransformer.transformSource (node_modules/@jest/transform/build/ScriptTransformer.js:419:28)
      at ScriptTransformer._transformAndBuildScript (node_modules/@jest/transform/build/ScriptTransformer.js:523:40)
      at ScriptTransformer.transform (node_modules/@jest/transform/build/ScriptTransformer.js:579:25)

【问题讨论】:

    标签: typescript npm jestjs


    【解决方案1】:

    ts-jest 主版本必须匹配jest 主版本;例如

    {
      "devDependencies": {
        "jest": "^26.4.2",
        "ts-jest": "^26.3.0"
      }
    }
    

    【讨论】:

      【解决方案2】:

      可能是 jest 版本的问题,我尝试使用适合我的 26.5.5

      如果你使用 npm,你可以安装一些包:

      npm install jest@26.5.5 --save-dev
      npm install ts-jest --save-dev
      npm install ts-node --save-dev
      npm install ts-loader --save-dev
      

      【讨论】:

        【解决方案3】:

        在我的例子中,配置使用babel-jest + @babel/preset-typescript 而不是ts-jest

        因此,我必须确保 babel-jestjest 具有相同的主要版本。

        {
          "devDependencies": {
            "@babel/preset-typescript": "7.16.7",
            "babel-jest": "26.6.3",
            "jest": "26.6.3"
          }
        }
        

        【讨论】:

          猜你喜欢
          • 2021-08-26
          • 2019-01-28
          • 2020-11-24
          • 2018-01-20
          • 2020-07-11
          • 2022-09-29
          • 2022-10-13
          • 2019-09-25
          • 2021-03-07
          相关资源
          最近更新 更多