# Vitest Testing

> Project-specific testing patterns using Vitest with Angular TestBed. Activates when writing tests, discussing test setup, creating spec files, mocking dependencies, or running tests.

- Skill: `majiayu000/vitest-testing-4` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add majiayu000/vitest-testing-4`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/vitest-testing-4/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/vitest-testing-4

---


# Vitest Testing (Project-Specific)

For complete testing patterns, read `.github/instructions/angular-testing.instructions.md`.
For NgRx store testing, read `.github/instructions/ngrx-signals-testing.instructions.md`.

## Quick Reference

```bash
npm test              # Run all unit tests
npm test -- --watch   # Watch mode
```

## Mandatory Rules

- **`provideZonelessChangeDetection()`** in every test setup
- **Vitest globals** pre-configured — never import `describe`, `it`, `expect`, `vi`
- **Signal inputs** set via `componentRef.setInput('name', value)`
- **AAA pattern** — Arrange, Act, Assert
- **No `any`** — properly type all mocks

## Reference Tests

- Component: `src/app/features/tasks/ui/task-card/task-card.spec.ts`
- Service: `src/app/features/tasks/data/infrastructure/task-api.spec.ts`
- Store: `src/app/features/tasks/data/state/task-store.spec.ts`

