Przejdź do treści
Biblioteka skilli
Programowanie · Testowanie

vitest

/vitest

Opisuje wzorce Vitest: konfiguracja testów, testy asynchroniczne, mocking przez vi.*, snapshoty i wydajność testów, bez metodyki TDD i MSW.

Repozytorium
AGI-Super-Team ↗
Licencja
MIT
Ostatnia zmiana repozytorium
20.10.2026

Ocena i bezpieczeństwo

100/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
50
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
0
Przestarzałość

Brak sygnałów. Repozytorium zmienione 20.10.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co robi i kiedy

Opisuje wzorce Vitest: konfiguracja testów, testy asynchroniczne, mocking przez vi.*, snapshoty i wydajność testów, bez metodyki TDD i MSW.

Oryginalny opis (EN)

Vitest testing framework patterns for test setup, async testing, mocking with vi.*, snapshots, and test performance (formerly test-vitest). This skill should be used when writing or debugging Vitest tests. This skill does NOT cover TDD methodology (use test-tdd skill), API mocking with MSW (use test-msw skill), or Jest-specific APIs.

Jak działa

  1. When to Apply
  2. Rule Categories by Priority
  3. Quick Reference
  4. How to Use
  5. Related Skills
  6. Full Compiled Document
Sekcje z nagłówków SKILL.md, w oryginale · 117 linii, 662 słów
Podgląd SKILL.md
---
name: vitest
description: Vitest testing framework patterns for test setup, async testing, mocking with vi.*, snapshots, and test performance (formerly test-vitest). This skill should be used when writing or debugging Vitest tests. This skill does NOT cover TDD methodology (use test-tdd skill), API mocking with MSW (use test-msw skill), or Jest-specific APIs.
---

# Vitest Best Practices

Comprehensive performance optimization and best practices guide for Vitest testing framework. Contains 44 rules across 8 categories, prioritized by impact to guide test writing, refactoring, and code review.

## When to Apply

Reference these guidelines when:
- Writing new Vitest tests
- Debugging flaky or slow tests
- Setting up test configuration
- Reviewing test code in PRs
- Migrating from Jest to Vitest
- Optimizing CI/CD test performance

## Rule Categories by Priority

| Priority | Category | Impact | Prefix |
|----------|----------|--------|--------|
| 1 | Async Patterns | CRITICAL | `async-` |
| 2 | Test Setup & Isolation | CRITICAL | `setup-` |
| 3 | Mocking Patterns | HIGH | `mock-` |
| 4 | Performance | HIGH | `perf-` |
| 5 | Snapshot Testing | MEDIUM | `snap-` |
| 6 | Environment | MEDIUM | `env-` |
| 7 | Assertions | LOW-MEDIUM | `assert-` |
| 8 | Test Organization | LOW | `org-` |

## Quick Reference

### 1. Async Patterns (CRITICAL)

- `async-await-assertions` - Await async assertions to prevent false positives
- `async-return-promises` - Return promises from test functions
- `async-fake-timers` - Use fake timers for time-dependent code
- `async-waitfor-polling` - Use vi.waitFor for async conditions
- `async-concurrent-expect` - Use test context expect in concurrent tests
- `async-act-wrapper` - Await user events to avoid act warnings
- `async-error-handling` - Test async error handling properly

### 2. Test Setup & Isolation (CRITICAL)

- `setup-beforeeach-cleanup` - Clean up state in afterEach hooks
- `setup-restore-mocks` - Restore mocks after each test
- `setup-avoid-shared-state` - Avoid shared mutable state between tests
- `setup-beforeall-expensive` - Use beforeAll for expensive one-time setup
- `setup-reset-modules` - Reset modules when testing module state
- `setup-test-factories` - Use test factories for complex test data

### 3. Mocking Patterns (HIGH)

- `mock-vi-mock-hoisting` - Understand vi.mock hoisting behavior
- `mock-spyon-vs-mock` - Choose vi.spyOn vs vi.mock appropriately
- `mock-implementation-not-value` - Use mockImplementation for dynamic mocks
- `mock-msw-network` - Use MSW for network request mocking
- `mock-avoid-overmocking` - Avoid over-mocking
- `mock-type-safety` - Maintain type safety in mocks
- `mock-clear-between-tests` - Clear mock state between tests

### 4. Performance (HIGH)

- `perf-pool-selection` - Choose the right pool for performance
- `perf-disable-isolation` - Disable test isolation when safe
- `perf-happy-dom` - Use happy-dom over jsdom when possible
- `perf-sharding` - Use sharding for CI parallelization
- `perf-run-mode-ci` - Use run mode in CI environments
- `perf-bail-fast-fail` - Use bail for fast failure in CI

### 5. Snapshot Testing (MEDIUM)

- `snap-inline-over-file` - Prefer inline snapshots for small values
- `snap-avoid-large` - Avoid large snapshots
- `snap-stable-serialization` - Ensure stable snapshot serialization
- `snap-review-updates` - Review snapshot updates before committing
- `snap-describe-intent` - Name snapshot tests descriptively

### 6. Environment (MEDIUM)

- `env-per-file-override` - Override environment per file when needed
- `env-setup-files` - Use setup files for global configuration
- `env-globals-config` - Configure globals consistently
- `env-browser-api-mocking` - Mock browser APIs not available in test environment

### 7. Assertions (LOW-MEDIUM)

- `assert-specific-matchers` - Use specific matchers over generic ones
- `assert-edge-cases` - Test edge cases and boundaries
- `assert-one-assertion-concept` - Test one concept per test
- `assert-expect-assertions` - Use expect.assertions for async tests
- `assert-toequal-vs-tobe` - Choose toBe vs toEqual correctly

### 8. Test Organization (LOW)

- `org-file-colocation` - Colocate test files with source files
- `org-describe-nesting` - Use describe blocks for logical grouping
- `org-test-naming` - Write descriptive test names
- `org-test-skip-only` - Use skip and only appropriately

## How to Use

Read individual reference files for detailed explanations and code examples:

- [Section definitions](references/_sections.md) - Category structure and impact levels
- [Rule template](assets/templates/_template.md) - Template for adding new rules
- [async-await-assertions](references/async-await-assertions.md) - Example rule file
- [mock-vi-mock-hoisting](references/mock-vi-mock-hoisting.md) - Example rule file

## Related Skills

- For TDD methodology, see `test-tdd` skill
- For API mocking with MSW, see `test-msw` skill
- For TypeScript testing patterns, see `typescript` skill

## Full Compiled Document

For the complete guide with all rules expanded: `AGENTS.md`
Pliki w paczce (50)
  • AGENTS.md 9 KB
  • CHANGELOG.md 1 KB
  • README.md 3 KB
  • SKILL.md 5 KB
  • assets/templates/_template.md 1 KB
  • references/_sections.md 2 KB
  • references/assert-edge-cases.md 2 KB
  • references/assert-expect-assertions.md 2 KB
  • references/assert-one-assertion-concept.md 3 KB
  • references/assert-specific-matchers.md 2 KB
  • references/assert-toequal-vs-tobe.md 2 KB
  • references/async-act-wrapper.md 2 KB
  • references/async-await-assertions.md 1 KB
  • references/async-concurrent-expect.md 2 KB
  • references/async-error-handling.md 2 KB
  • references/async-fake-timers.md 2 KB
  • references/async-return-promises.md 2 KB
  • references/async-waitfor-polling.md 2 KB
  • references/env-browser-api-mocking.md 2 KB
  • references/env-globals-config.md 2 KB
  • references/env-per-file-override.md 2 KB
  • references/env-setup-files.md 2 KB
  • references/mock-avoid-overmocking.md 3 KB
  • references/mock-clear-between-tests.md 2 KB
  • references/mock-implementation-not-value.md 2 KB
  • references/mock-msw-network.md 3 KB
  • references/mock-spyon-vs-mock.md 2 KB
  • references/mock-type-safety.md 2 KB
  • references/mock-vi-mock-hoisting.md 2 KB
  • references/org-describe-nesting.md 2 KB
  • references/org-file-colocation.md 2 KB
  • references/org-test-naming.md 2 KB
  • references/org-test-skip-only.md 2 KB
  • references/perf-bail-fast-fail.md 2 KB
  • references/perf-disable-isolation.md 2 KB
  • references/perf-happy-dom.md 2 KB
  • references/perf-pool-selection.md 2 KB
  • references/perf-run-mode-ci.md 2 KB
  • references/perf-sharding.md 2 KB
  • references/setup-avoid-shared-state.md 2 KB
  • references/setup-beforeall-expensive.md 2 KB
  • references/setup-beforeeach-cleanup.md 2 KB
  • references/setup-reset-modules.md 3 KB
  • references/setup-restore-mocks.md 2 KB
  • references/setup-test-factories.md 3 KB
  • references/snap-avoid-large.md 2 KB
  • references/snap-describe-intent.md 2 KB
  • references/snap-inline-over-file.md 2 KB
  • references/snap-review-updates.md 2 KB
  • references/snap-stable-serialization.md 2 KB

Wersje

RepozytoriumWynikLicencja
Ta strona · aAAaqwq/AGI-Super-Team100MIT
TerminalSkills/skills100Apache-2.0
zenobi-us/dotfiles100MIT
itechmeat/llm-code100MIT
claude-dev-suite/claude-dev-suite100MIT
jezweb/claude-skills100MIT
G1Joshi/Agent-Skills100MIT
el-feo/ai-context100MIT
hamsurang/kit100MIT

Identyczna treść występuje jeszcze w 2 innych folderach na GitHubie. Tu pokazujemy jedną, najlepiej ocenioną kopię.

Migawka bazy z 28.10.2026 · wersja paczki 20bd5adccd06 (skrót SHA-256 całej paczki)

Pobrania w ostatnich 30 dniach: 0 · ranking

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 100msw
    Podaje dobre praktyki MSW (Mock Service Worker) do mockowania API w testach: konfiguracja, pisanie handlerów żądań i mockowanie API HTTP.
  • 100tdd
    Opisuje metodykę TDD i workflow red-green-refactor: pisanie testów najpierw, projektowanie testów przed implementacją i przegląd podejść test-first, bez specyfiki Vitest i mockowania MSW.
  • 100test-driven-development
    Opisuje metodykę TDD i workflow red-green-refactor: pisanie testów przed kodem, projektowanie testów przed implementacją i przegląd podejść test-first.
  • 100vitest-best-practices
    Podaje wzorce testów w Vitest: strukturę AAA, testy parametryzowane, asercje, mocki, obsługę błędów i wydajność.
  • 100vitest-rtl-msw-patterns
    Konfiguruje testy frontendu z Vitest, React Testing Library i MSW v2, a także testy kontraktowe Zod względem modeli Pydantic.
  • 100react-testing
    Opisuje testowanie komponentów React z Testing Library i Vitest: testy jednostkowe i integracyjne, asynchroniczne, mockowanie, zdarzenia użytkownika i dostępność.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.