MrS*_*ngh 12 automated-tests syntax-error importerror node.js jestjs
我刚刚开始学习jest测试并创建了一个示例应用程序来熟悉jest测试。但是,我收到以下错误...
语言.js
const calculateTip = (total, percentage) => {
return total + ((percentage / 100) * total) + 1;
};
export {
calculateTip,
}
Run Code Online (Sandbox Code Playgroud)
包.json
{
"dependencies": {
"express": "^4.18.2"
},
"type": "module",
"main": "src/app.js",
"scripts": {
"start": "node src/app.js",
"test": "cls && env-cmd -f ./envs/test.env jest --watchAll"
},
"devDependencies": {
"env-cmd": "^10.1.0",
"jest": "^29.2.2",
"supertest": "^6.3.1"
}
}
Run Code Online (Sandbox Code Playgroud)
我曾尝试通过谷歌搜索解决方案,但到目前为止还没有运气。
Node.js 仅从 v16 开始支持 esm 语法,但 jest 尚不支持。因此,你有2个选择:
import/ export)Jest 现在提供了对 ECMAScript 模块 (ESM) 的实验性支持:
https://jestjs.io/docs/ecmascript-modules
最简单的方法是更新您的测试脚本以node使用--experimental-vm-modules例如执行
node --experimental-vm-modules node_modules/jest/bin/jest.js
Run Code Online (Sandbox Code Playgroud)
或者将环境变量添加到测试脚本中
NODE_OPTIONS=--experimental-vm-modules npx jest
Run Code Online (Sandbox Code Playgroud)
请参阅上面的链接了解更多详细信息。
| 归档时间: |
|
| 查看次数: |
32887 次 |
| 最近记录: |