我用 JavaScript 构建了一个命令行工具。我想为它编写测试。我认为 Jest 是第一选择。
运行测试时出现以下错误:
SyntaxError: Cannot use import statement outside a module
。
npm install --save-dev jest @babel/core @babel/preset-env babel-jest
babel.config.cjs
文件,其中包含以下内容:module.exports = {
presets: [["@babel/preset-env", { targets: { node: "current" } }]],
};
package.json
中的以下部分: "type": "module",
"scripts": {
"test": "jest"
},
"jest": {
"transform": {
"^.+\\.js$": "babel-jest"
}
},
__tests__
文件夹中,测试文件具有以下命名约定 fileName.test.js
您需要启用对 ES 模块的实验支持。在您的
package.json
中尝试以下操作,而不是简单地 jest
:
NODE_OPTIONS='--experimental-vm-modules' jest