vitest_runner
Modern JavaScript/TypeScript testing with Vitest including mocking and coverage.
npxskills add vuralserhat86/antigravity-agentic-skills--skill vitest_runnerLoading…
Modern JavaScript/TypeScript testing with Vitest including mocking and coverage.
npxskills add vuralserhat86/antigravity-agentic-skills--skill vitest_runnerLoading…
Modern JavaScript/TypeScript testing with Vitest including mocking and coverage.
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');
});
});
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');
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');
});
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();
});
Kaynak: Vitest Official Documentation & Vite + Testing Best Practices
vitest.config.ts dosyasının Vite ayarlarıyla senkronize olduğunu doğrula.jsdom veya happy-dom, backend için node environment'ı seç.setup.ts içinde global mock'ları tanımla.vi.mock() ile izole ederek sadece hedef üniteyi test et.expect metodlarını kullanarak beklenen sonuçları (be.truthy, toEqual, toBeCalled) doğrula.toMatchSnapshot() ile yakala.watch modunda tutarak anlık geri bildirim al.v8 veya istanbul provider kullanarak test kapsamını raporla.vi.clearAllMocks() ile testler arası veri kirliliğini (Pollution) önle.| 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
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.
CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.
CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).