Vitest? ???? ??? ??????
Vitest? ???? ??? ??? ?? ???????. ?? ?? ??? ??? ????.
??
Vitest? ??? ? ??? ?? ??? HMR(? ?? ??)? esbuild? ???? Vite? ???? ?????. ??? ??? ????.
- ??? ? ???? ?? ??: ??? ?? ??? ???? ???? ?? ???? ??? ??? ????? ??????.
- ?? ESM ??: ?? ??????? ?? ?? ES ??? ?? ?????? ??? ?? ? ????.
?? ?????? Vitest? Vite? ???? ?? ?????? ???? ??? Jest? ????? ???? ????.
Framework | Time to run 500 tests |
---|---|
Jest | ~8 seconds |
Vitest | ~3 seconds |
Mocha | ~6 seconds |
??: ??? ????? ???? ???? ??? ??? ?? ??? ? ????.
???
Vitest? Jest? ????? ???? ????? ?? ??? ??? ???? ???? ? ????. ?? TypeScript, JSX, ESM? ?? ?? ???? ??? ????? ?????.
??? ??
- Vite? HMR? ???? ?? ??? ??? ?????.
- ??? API ? ??.
- ??? ???? ???? ???? ??.
---
Vitest ??
TypeScript ?????? Vitest? ???? ??? ???????. React ????? ???? ?? ??? ????? ??? Vue 3 ?? Node.js ????? ?????.
??
- Node.js? npm/yarn/pnpm? ???? ??? ?????.
- Vitest ? ?? ?? ??? ??:
npm install --save-dev vitest
React? ???? ????? ?? React ??? ?????? ?????.
npm install --save-dev @testing-library/react @testing-library/jest-dom
??
Vite.config.ts? ????? ?????? Vitest? ??????.
import { defineConfig } from 'vite'; import react from '@vitejs/plugin-react'; export default defineConfig({ plugins: [react()], test: { globals: true, environment: 'jsdom', // Use 'node' for Node.js projects setupFiles: './test/setup.ts', }, });
?? ?? ??
?? ??? ??? ??? ???? ? ?????. test/setup.ts ??? ????.
import '@testing-library/jest-dom';
???? ??
??? ????? ????? package.json? ???????.
{ "scripts": { "test": "vitest" } }
---
Vitest? ?? ??? ??
Vitest? ??? ??? ???? ????? Jest? ??? API? ?????. ??? ?? ??? ????.
?: ?? ????
React ????? ??? ??? ???.
// src/components/Greeting.tsx import React from 'react'; type GreetingProps = { name: string; }; export const Greeting: React.FC<GreetingProps> = ({ name }) => { return <h1>Hello, {name}!</h1>; };
??? ??
????? ?? ??? ?? ???:
// src/components/__tests__/Greeting.test.tsx import { render, screen } from '@testing-library/react'; import { describe, it, expect } from 'vitest'; import { Greeting } from '../Greeting'; describe('Greeting Component', () => { it('renders the correct greeting', () => { render(<Greeting name="Vitest" />); expect(screen.getByText('Hello, Vitest!')).toBeInTheDocument(); }); });
??? ??
??? ???? ???? ?????.
npm ?? ???
??? ??? ??? ?????.
? Greeting Component? ??? ???? ??????
---
?? ??
??
Vitest? ?? ??? ??? ?? ?????.
import { vi } from 'vitest'; const mockFn = vi.fn(); mockFn(); expect(mockFn).toHaveBeenCalled();
??? ???
??? ???? ??? ?? ?????.
import { render } from '@testing-library/react'; import { expect } from 'vitest'; import { Greeting } from '../Greeting'; test('matches snapshot', () => { const { container } = render(<Greeting name="Vitest" />); expect(container).toMatchSnapshot(); });
?? ???
Vitest? CLI ??? ???? ?? ??:
vitest --run --coverage
---
??
Vitest? Vite?? ???? ??, ??? ? ??? ??? ???? ?? ???? ?? ??? ?????. Jest?? ???????? ?? ???? Vitest? ??? ??? ??? ???? ???? ???? ??? ????? ?????.
?? ?????? Vitest? ????? ??? ??? ???!
????
Vitest ????
??
? ??? Vitest? ??? ?? ???: ??? ??? ?????? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? AI ??

Undress AI Tool
??? ???? ??

Undresser.AI Undress
???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover
???? ?? ???? ??? AI ?????.

Clothoff.io
AI ? ???

Video Face Swap
??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

?? ??

??? ??

???++7.3.1
???? ?? ?? ?? ???

SublimeText3 ??? ??
??? ??, ???? ?? ????.

???? 13.0.1 ???
??? PHP ?? ?? ??

???? CS6
??? ? ?? ??

SublimeText3 Mac ??
? ??? ?? ?? ?????(SublimeText3)

JavaScript? ??? ?? ????? ??? ?? ??? ??? ?? ?? ?? ????? ?? ???? ???? ?????. ??? ?? ???? ?? ??? ?? ??? ???? ???? ?? ?? ???? ???? ?????. ?? ??, ??? ? ?? ???? ??? (? : ??? null? ??) ?? ??? ????? ??????. ??? ??? ???? ??? ??? ????. closure?? ?? ??? ?? ??; ? ??? ??? ?? ?? ???? ?? ???? ????. V8 ??? ?? ???, ?? ??, ??/?? ???? ?? ??? ?? ??? ??? ????? ?? ??? ?? ??? ????. ?? ?? ???? ??? ??? ??? ??? ???? ????? ?? ?? ???? ?? ???????.

Node.js?? HTTP ??? ???? ? ?? ???? ??? ????. 1. ?? ????? ????? ??? ??? ? ?? ????? ?? ?? ? https.get () ??? ?? ??? ??? ? ?? ????? ?? ??? ?????. 2.axios? ??? ???? ? ?? ??????. ??? ??? ??? ??? ??? ??? ???/???, ?? JSON ??, ???? ?? ?????. ??? ?? ??? ????? ?? ????. 3. ?? ??? ??? ??? ??? ???? ???? ??? ??? ???? ?????.

JavaScript ??? ??? ?? ?? ? ?? ???? ????. ?? ???? ???, ??, ??, ?, ???? ?? ? ??? ?????. ?? ????? ?? ?? ? ? ??? ????? ?? ??? ??? ????. ??, ?? ? ??? ?? ?? ??? ??? ??? ???? ??? ??? ???? ??? ?? ??? ????. ?? ? ????? ??? ???? ? ??? ? ??? TypeofNull? ??? ?????? ??? ? ????. ? ? ?? ??? ???? ?????? ????? ???? ??? ???? ? ??? ? ? ????.

?????, JavaScript ???! ?? ? JavaScript ??? ?? ?? ?????! ?? ?? ??? ??? ??? ? ????. Deno?? Oracle? ?? ??, ??? JavaScript ?? ??? ????, Google Chrome ???? ? ??? ??? ???? ?????. ?????! Deno Oracle? "JavaScript"??? ????? Oracle? ?? ??? ??? ??????. Node.js? Deno? ??? ? Ryan Dahl? ??? ?????? ???? ????? JavaScript? ??? ???? Oracle? ????? ???? ?????.

?? JavaScript ??? ??? ??? ?????? ?? ??? ?? ?? ??? ?? ???? ????. 1. ??? ???? ???? ?? ??? ?? ? ? ???? ??? ??? ?? ? ?? ????? ?????. 2. Angular? ?????? ??? ?? ???? ? ?? ?? ??? ??? ??? ???? ?????. 3. VUE? ???? ?? ??? ???? ?? ?? ??? ?????. ?? ?? ?? ??, ? ??, ???? ???? ? SSR? ???? ??? ??? ??? ???? ? ??? ?????. ???, ??? ??? ??? ????? ????. ??? ??? ??? ??? ?? ????.

iife (?? invokedfunctionexpression)? ?? ??? ???? ?? ????? ??? ???? ?? ??? ????? ?? ??? ? ?????. ??? ?? ?? ??? ???? ? ?? ??? ??? ?? (function () {/code/}) ();. ?? ???? ??? ?????. 1. ?? ??? ??? ?? ???? ?? ??? ??? ?????. 2. ?? ??? ??? ???? ?? ?? ??? ????. 3. ?? ?? ??? ????? ?? ???? ???????? ?? ? ??. ???? ?? ???? ?? ??? ES6 ??? ??? ??? ?? ? ??? ????? ??? ? ???? ???????.

Cacheapi? ?????? ?? ???? ??? ???? ???, ?? ??? ??? ?? ???? ? ??? ?? ? ???? ??? ??????. 1. ???? ????, ??? ??, ?? ?? ?? ???? ???? ??? ? ????. 2. ??? ?? ?? ??? ?? ? ? ????. 3. ?? ?? ?? ?? ?? ??? ??? ?? ?????. 4. ??? ???? ?? ?? ???? ?? ?? ?? ?? ?? ???? ?? ?? ??? ??? ? ????. 5. ?? ???? ??, ??? ??? ? ??? ??, ?? ??? ? ?? ???? ???? ???? ? ?? ?????. 6.?? ??? ?? ?? ?? ??, ???? ?? ? HTTP ?? ????? ?????? ???????.

??? JavaScript?? ??? ??? ?????? ?? ???????. ?? ??, ?? ?? ? ??? ??? ?? ????? ????? ?????. 1. ?? ??? ??? ????? ???? ??. ()? ?? ??? ??? ?????. ?. ()? ?? ??? ?? ??? ??? ?? ? ? ????. 2. ?? ??? .catch ()? ???? ?? ??? ??? ?? ??? ??????, ??? ???? ???? ????? ??? ? ????. 3. Promise.all ()? ?? ????? (?? ?? ?? ? ??????? ??), Promise.Race () (? ?? ??? ?? ?) ? Promise.AllSettled () (?? ??? ???? ??)
