← スキル一覧に戻る

vitest-runner
by vuralserhat86
OS for Agents: 130+ Agentic Skills, Gemini Protocols, and Autonomous Workflows. (Antigravity System)
⭐ 19🍴 9📅 2026年1月23日
SKILL.md
name: vitest_runner router_kit: FullStackKit description: Modern JavaScript/TypeScript testing with Vitest including mocking and coverage. metadata: skillport: category: auto-healed tags: [architecture, assertions, automation, best practices, clean code, coding, collaboration, compliance, debugging, design patterns, development, documentation, efficiency, git, jest compatible, mocking, optimization, productivity, programming, project management, quality assurance, refactoring, software engineering, standards, testing, unit testing, utilities, version control, vite, vitest runner, workflow]
Vitest
Description
Modern JavaScript/TypeScript testing with Vitest including mocking and coverage.
When to Use
- Testing JavaScript/TypeScript
- React component testing
- Unit and integration tests
Core Patterns
Basic Tests
import { describe, it, expect } from 'vitest';
describe('math', () => {
it('should add numbers', () => {
expect(1 + 1).toBe(2);
});
it('should throw on invalid input', () => {
expect(() => divide(1, 0)).toThrow('Division by zero');
});
});
Mocking
import { vi, describe, it, expect } from 'vitest';
// Mock module
vi.mock('./api', () => ({
fetchUser: vi.fn().mockResolvedValue({ id: 1 })
}));
// Mock function
const callback = vi.fn();
callback('arg');
expect(callback).toHaveBeenCalledWith('arg');
Async Tests
it('should fetch data', async () => {
const data = await fetchData();
expect(data).toEqual({ id: 1 });
});
it('should reject on error', async () => {
await expect(fetchData()).rejects.toThrow('Error');
});
React Testing
import { render, screen } from '@testing-library/react';
import { userEvent } from '@testing-library/user-event';
it('should handle click', async () => {
const onClick = vi.fn();
render(<Button onClick={onClick}>Click</Button>);
await userEvent.click(screen.getByRole('button'));
expect(onClick).toHaveBeenCalled();
});
🔄 Workflow
Kaynak: Vitest Official Documentation & Vite + Testing Best Practices
Aşama 1: Environment & Setup
- Vite Integration:
vitest.config.tsdosyasının Vite ayarlarıyla senkronize olduğunu doğrula. - Environment Choice: Web projeleri için
jsdomveyahappy-dom, backend içinnodeenvironment'ı seç. - Global Mocks: Sık kullanılan harici servisler (API, LocalStorage) için
setup.tsiçinde global mock'ları tanımla.
Aşama 2: Unit & Component Testing
- Isolation Layer: Bağımlılıkları
vi.mock()ile izole ederek sadece hedef üniteyi test et. - Assertion Strategy:
expectmetodlarını kullanarak beklenen sonuçları (be.truthy, toEqual, toBeCalled) doğrula. - Snapshot Testing: UI bileşenlerindeki (Component) beklenmedik arayüz değişikliklerini
toMatchSnapshot()ile yakala.
Aşama 3: Performance & Coverage
- Watch Mode: Geliştirme sürecinde testleri
watchmodunda tutarak anlık geri bildirim al. - Coverage Analysis:
v8veyaistanbulprovider kullanarak test kapsamını raporla. - Dependency Cleanup:
vi.clearAllMocks()ile testler arası veri kirliliğini (Pollution) önle.
Kontrol Noktaları
| Aşama | Doğrulama |
|---|---|
| 1 | Test dosyaları *.test.ts veya *.spec.ts formatında mı? |
| 2 | Asenkron kodlar (async/await) doğru handle ediliyor mu? |
| 3 | Karmaşık nesne karşılaştırmalarında toBe (referans) yerine toEqual (değer) mi kullanıldı? |
Vitest Runner v1.5 - With Workflow
スコア
総合スコア
60/100
リポジトリの品質指標に基づく評価
✓SKILL.md
SKILL.mdファイルが含まれている
+20
○LICENSE
ライセンスが設定されている
0/10
✓説明文
100文字以上の説明がある
+10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
レビュー
💬
レビュー機能は近日公開予定です