我有一个角7应用程序与3300+测试。他们花了太多的时间去跑,花了太多的精力去维持。我听说过很多关于Jest的好消息,但是,我不确定是否可以将所有这些测试从Jasmine迁移到Jest。
发布于 2021-12-14 16:20:43
您可以通过升级到jest来轻松地回答这个问题。在Github由小丑预置角形小组组成上有一个很好的演练。
在项目根目录中添加几个文件:
setup.jest.ts,包括:
import 'jest-preset-angular/setup-jest';jest.config.js,包括:
// Angular Ivy (9+ only for the next line)
require('jest-preset-angular/ngcc-jest-processor');
// jest.config.js
module.exports = {
preset: 'jest-preset-angular',
setupFilesAfterEnv: ['<rootDir>/setup-jest.ts'],
};tsconfig.spec.json,包括:
{
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "./out-tsc/spec",
"types": ["jest"]
},
"include": ["src/**/*.spec.ts", "src/**/*.d.ts"]
}修改tsconfig.json
"lib": [ "es2018", "dom" ],
"esModuleInterop": true修改tsconfig.spec.json
"types": [ "jest" ] // Replace "jasmine"修改package.json
"test": "jest -c ./jest.config.js ./src添加所需的包:
npm install jest jest-preset-angular @types/jest @angular-builders/jest安装后迁移
然后,您可以自动转换您的测试(在某种程度上)从茉莉花到Jest:
npx jest-codemods
现在你可以为你的项目回答你的问题了。
运行:
npm run test
查看需要手动修复多少个失败的测试才能完成迁移。并决定这是否在你的时间表内去做。
故障排除
错误:无法设置基本提供程序,因为它已经被调用
查找tests.ts文件并删除它。这是你在Jest中不需要的业力文件。
https://stackoverflow.com/questions/55268403
复制相似问题