基础使用
yarn run test 执行全部.test.js文件
yarn run test ./sum.test.js 执行指定.test.js文件
测试用力可用for…of 遍历执行
应用:leetcode工程
参考:
官方文档 https://jestjs.io/docs/en/getting-started
项目配置jest
jest ts-jest @types/jest
@testing-library/react
config文件jest.config.js
脚本
cd ./tests/unit
checkfile=`ls | grep ".spec.ts" | tr -s "\n" " "`
jest --findRelatedTests $checkfile
执行 yarn run test:unit
配置msw
import '@testing-library/jest-dom/extend-expect';
import { rest } from 'msw';
import { setupServer } from 'msw/node';
const server = setupServer(
rest.post('/login', (req, res, ctx) => {
console.log('req: ', req);
return res(ctx.json({ token: 'mocked_user_token' }));
})
);
beforeAll(() => server.listen());
afterEach(() => {
jest.resetAllMocks();
jest.restoreAllMocks();
server.resetHandlers();
});
beforeEach(() => {
jest.spyOn(console, 'error').mockImplementation(() => {});
});
afterEach(() => {
try {
expect(console.error).not.toHaveBeenCalled();
} catch (e) {
console.log('⏰', '请确保在测试期间一切console.error不能被调用');
}
});
afterAll(() => server.close());
可视化 majestic
支持可视化、对单个文件进行单元测试
安装 yarn add —dev majestic
启动 npx majestic
需配置config.json
—-善后
添加脚本 "test:ui": "majestic",