基础使用

  1. yarn run test 执行全部.test.js文件
  2. 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

脚本

  1. cd ./tests/unit
  2. checkfile=`ls | grep ".spec.ts" | tr -s "\n" " "`
  3. jest --findRelatedTests $checkfile

执行 yarn run test:unit

配置msw

  1. import '@testing-library/jest-dom/extend-expect';
  2. import { rest } from 'msw';
  3. import { setupServer } from 'msw/node';
  4. const server = setupServer(
  5. rest.post('/login', (req, res, ctx) => {
  6. console.log('req: ', req);
  7. return res(ctx.json({ token: 'mocked_user_token' }));
  8. })
  9. );
  10. beforeAll(() => server.listen());
  11. afterEach(() => {
  12. jest.resetAllMocks();
  13. jest.restoreAllMocks();
  14. server.resetHandlers();
  15. });
  16. beforeEach(() => {
  17. jest.spyOn(console, 'error').mockImplementation(() => {});
  18. });
  19. afterEach(() => {
  20. try {
  21. expect(console.error).not.toHaveBeenCalled();
  22. } catch (e) {
  23. console.log('⏰', '请确保在测试期间一切console.error不能被调用');
  24. }
  25. });
  26. afterAll(() => server.close());

可视化 majestic

支持可视化、对单个文件进行单元测试

安装 yarn add —dev majestic
启动 npx majestic
需配置config.json
—-善后
添加脚本 "test:ui": "majestic",
image.png