乐趣区

关于jest:jest-ts-esm

Jest 是当下最支流的前端测试框架
首先初始化 ts 环境

yarn add typescript --dev
npx tsc --init

第二步: 装置 ts 下的 jest
yarn add jest @types/jest --dev

第三步: 新建 tests 文件夹
tests/index.spec.ts

it('init',()=>{expect(true).toBe(true)
})

此处记住要在 tsconfig.json 外面批改配置
"types": ["jest"],

第四步
package.json 增加

 "scripts": {"test":"jest"},

执行 npm run test
失去

接下来解决导入模块的问题
index.ts

export function add (a,b){return a+b}

index.spec.ts

import {add} from "../index"
it('init',()=>{expect(add(2,3)).toBe(5)
})

执行 npm run test 报错

关上 https://www.jestjs.cn/docs/getting-started
配置 Babel

npm install --save-dev babel-jest @babel/core @babel/preset-env

在我的项目的根目录下创立 babel.config.js,通过配置 Babel 使其可能兼容以后的 Node 版本。

babel.config.js
module.exports = {presets: [['@babel/preset-env', {targets: {node: 'current'}}]],
};

应用 Typescript
通过 babel 来反对 Typescript
通过 Babel,Jest 可能反对 Typescript。首先要确保你遵循了上述 应用 Babel 指引。接下来装置 @babel/preset-typescript 插件:

npm install --save-dev @babel/preset-typescript
babel.config.js
module.exports = {
  presets: [['@babel/preset-env', {targets: {node: 'current'}}],
    '@babel/preset-typescript',
  ],
};

最初执行npm run test

初步实现在 ts 环境下的 jest 单测

退出移动版