我正在使用npm创建一个Web应用程序。我正在尝试运行自定义模块的单元测试。
首先,使用我用来生成问题的命令:
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";
什么可能导致此错误?我使用同一行在myModule
中导入src/js/otherModule.js
,这没有问题。这可能与使用babel有关吗?
另外,请告诉我这里是否还需要其他文件/配置(玩笑,通天塔)以更全面地了解问题。
答案 0 :(得分:-1)
使用
const MyModule = require('@/js/myModule')
并将导出模块更改为
module.exports = MyModule;
解决了这个问题。