我只是try 在一个nestjs应用程序上运行一些集成测试,但我收到以下错误:
SyntaxError: Cannot use import statement outside a module
个
我在这个问题上花了很多时间,这个问题应该很容易解决,但我处理不了.
使用ESM而不是CommonJ的@nestjs/axios
lib会出现此问题.在做了一些研究之后,我发现理论上我应该使用以下命令运行测试:
yarn node --experimental-vm-modules $(yarn bin jest)
个
但我所做的一切都不管用 我也不明白为什么要匹配这个文件,因为它在node_MODULES中 有人能帮我吗?
我的Jest配置:
"jest": {
"moduleFileExtensions": [
"js",
"json",
"ts"
],
"rootDir": "",
"preset": "ts-jest",
"testRegex": ".spec.ts$",
"transform": {
"^.+\\.(t|j)s$": "ts-jest"
},
"coverageDirectory": "./coverage",
"testEnvironment": "node",
"globalSetup": "<rootDir>/tests/jest.setup.ts",
"globalTeardown": "<rootDir>/tests/jest.teardown.ts"
}
我的版本:
"@nestjs/axios": "^1.0.1",
"@types/jest": "^24.0.18",
"jest": "^26.0.0",
"ts-jest": "^26.5.5",
"typescript": "^4.2.3"
我已经try 将NODE_MODULES(这已经是JEST的默认行为)设置为transformIgnorePatterns
,但不起作用.
我遇到这个错误的库是一个内部库(node_modules/@bank/auth/node_modules/@nestjs/axios/node_modules/axios/index.js:1),,这会是问题的原因吗?