angular - 测试无法运行测试用例以 TypeError 退出:开玩笑:转换必须导出“进程”函数
问题描述
{ //tsconfig.base.json "compileOnSave": false, "compilerOptions": { "baseUrl": "./", "outDir": "./dist/out-tsc", "sourceMap": true, "declaration “:假,“downlevelIteration”:真,“experimentalDecorators”:真,“模块”:“esnext”,“moduleResolution”:“节点”,“importHelpers”:真,“目标”:“es2015”,“typeRoots”: ["node_modules/@types"], "lib": ["es2018", "dom"] }, "angularCompilerOptions": { "fullTemplateTypeCheck": true, "strictInjectionParameters": true } }
//ts.spec.json
{
"extends": "./tsconfig.base.json",
"compilerOptions": {
"outDir": "./out-tsc/spec",
"types": ["jest", "node"],
"esModuleInterop": true,
"emitDecoratorMetadata": true
},
"files": ["src/test.ts", "src/polyfills.ts"],
"include": ["src/**/*.spec.ts", "src/**/*.d.ts"]
}
//setupTest.js
import 'jest-extended';
import 'jest-preset-angular/setup-jest';
import './globalMocks';
//jest dependancies list
"@types/jest": "~26.0.15",
"@types/node": "^12.11.1",
"@types/uuid": "^7.0.0",
"babel-jest": "^27.0.2",
"codelyzer": "^6.0.0",
"jest": "^26.6.3",
"jest-environment-jsdom-sixteen": "1.0.3",
"jest-extended": "^0.11.5",
"jest-junit": "^12.0.0",
"jest-preset-angular": "^9.0.0-next.3",
"ng-bullet": "~1.0.3",
"regenerator-runtime": "^0.13.7",
"rxjs-tslint-rules": "^4.34.0",
"ts-node": "~8.3.0",
"tslint": "~6.1.0",
"typescript": "~4.0.5"
FAIL src/app/authentication/register/register.component.spec.ts
● Test suite failed to run
TypeError: Jest: a transform must export a `process` function.
at ScriptTransformer._getTransformer (node_modules/@jest/transform/build/ScriptTransformer.js:360:13)
at ScriptTransformer.transformSource (node_modules/@jest/transform/build/ScriptTransformer.js:427:28)
at ScriptTransformer._transformAndBuildScript (node_modules/@jest/transform/build/ScriptTransformer.js:569:40)
at ScriptTransformer.transform (node_modules/@jest/transform/build/ScriptTransformer.js:607:25)
解决方案
使用 ts-node 和 ts-jest,它们都是 26.x 版本
"jest": "^26.6.3",
"ts-jest": "^26.5.5",
推荐阅读
- django - 用于多个模型的 Django 嵌套序列化程序,带有链式外键
- python - 数字签名验证错误
- ms-access - 如何将日期与 WHERE 子句结合起来
- intellij-idea - 在 JAX-RS 上将 css 添加到 JSP
- verilog - D 序列 1101011 的触发器序列生成器不生成结果
- parsing - LR-Parsing-Table:什么决定了 reduce-actions 的下一个状态?
- python - python - 如何计算嵌套/复杂的python列表/集中的唯一单词
- swift - 使用 Nil 更新 Realm 对象不起作用
- php - php在时间和日期范围内检查当前日期
- flask - Flask 找不到样式表或其他静态文件