TypeError:Jest:一个转换必须导出一个`process`函数

最近将我的应用程序升级到 Angular 11。Jest 已被设置为默认测试框架。运行 npm test 会导致以下错误:

? Test suite failed to run

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

      20 | @Component({
      21 |     selector: 'app-bx-input-textbox',
    > 22 |     template: require('./bx-input-textbox.component.html'),
         |               ^
      23 |     styles: [String(require('./bx-input-textbox.component.scss'))],
      24 |     providers: [
      25 |         {

      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)
      at src/app/core/components/bx-input-textbox/bx-input-textbox.component.ts:22:15
      at Object.<anonymous> (src/app/core/components/bx-input-textbox/bx-input-textbox.component.ts:38:1)

// jest.config.js

module.exports = {
  testEnvironment: "jsdom",
  transform: {
    ".+.(css|styl|less|sass|scss)$": "<rootDir>/node_modules/jest-css-modules-transform",
    ".(ts|js)$": ['ts-jest']
  },
  setupFilesAfterEnv: ['./jest.setup.js'],
  globals: {    
    "ts-jest": {
      tsConfig: {
        // allow js in typescript
        allowJs: true,
      },
    },
  },
  // If you need to test a specifc file just include it here
  //testMatch: ['**/repository.jobs.spec.ts'],
  testMatch: []
};

包版本 "@angular-builders/jest": "12.1.0", "@types/jest": "24.9.1", "ts-jest": "26.0.0", "jest": "24.9.0 ”,

我尝试了 jest.config.js 文件的不同配置,但无法解决此错误。任何解决此问题的指针都会有所帮助。

回答

将 jest 和 ts-jest 升级到 v27 以解决此问题


以上是TypeError:Jest:一个转换必须导出一个`process`函数的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>