首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用npm将自定义模块导入babel-jest测试?

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

Stack Overflow用户
提问于 2019-05-04 14:20:48
回答 1查看 407关注 0票数 1

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

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

代码语言:javascript
复制
vue-cli-service test:unit

我所犯的错误是:

代码语言:javascript
复制
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

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

代码语言:javascript
复制
.
├── jest.config.js
├── src
│   ├── js
│   │   └── myModule.js
└── tests
    └── unit
        └── js
            └── myModule.spec.js

在我的package.json

代码语言:javascript
复制
{
   "devDependencies": {
      "babel-jest": "^24.7.1"
   }
}

myModule.js

代码语言:javascript
复制
class MyModule {
    static method(){}
}

export default MyModule

myModule.spec.js中,我称之为:

代码语言:javascript
复制
import MyModule from "@/js/myModule.js";

是什么导致了这个错误?我使用相同的行在src/js/otherModule.js中导入src/js/otherModule.js,这是没有问题的。这可能与使用babel有关吗?

此外,请告诉我,如果需要更多的文件/吐露(开玩笑,巴贝尔)在这里,以获得一个更广泛的观点,这个问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-07 16:40:42

使用

代码语言:javascript
复制
const MyModule = require('@/js/myModule')

并将导出模块更改为

代码语言:javascript
复制
module.exports = MyModule;

解决了这个问题。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55983464

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档