如何使用 npm 将自定义模块导入 babel-jest 测试?

How to import custom modules to babel-jest tests using npm?

我正在使用 npm 创建一个网络应用程序。我正在尝试 运行 自定义模块的单元测试。

首先,我用来生成问题的命令:

vue-cli-service test:unit

我得到的错误是:

FAIL  tests/unit/js/myModule.spec.js
 ● Test suite failed to run

   .../tests/unit/js/myModule.spec.js:1
   ({"Object.<anonymous>":
     function(module,exports,require,__dirname,__filename,global,jest)
   {import MyModule from "@/js/myModule.js";                                               
           ^^^^^^^^

   SyntaxError: Unexpected identifier

与问题相关的我的项目结构如下所示:

.
├── jest.config.js
├── src
│   ├── js
│   │   └── myModule.js
└── tests
    └── unit
        └── js
            └── myModule.spec.js

在我的 package.json:

{
   "devDependencies": {
      "babel-jest": "^24.7.1"
   }
}

myModule.js 正文:

class MyModule {
    static method(){}
}

export default MyModule

myModule.spec.js 的正文中,我调用:

import MyModule from "@/js/myModule.js";

什么可能导致此错误?我正在使用同一行在 src/js/otherModule.js 中导入 myModule,这没有问题。这可能与使用 babel 有关吗?

此外,请告诉我这里是否还需要 files/configs(开玩笑,巴别塔)以更广泛地了解问题。

正在使用

const MyModule = require('@/js/myModule')

并将导出模块更改为

module.exports = MyModule;

解决了问题。