如何使用 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;
解决了问题。
我正在使用 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;
解决了问题。