Babysitter vitest

Vitest configuration, mocking, coverage, snapshot testing, and performance.

install
source · Clone the upstream repo
git clone https://github.com/a5c-ai/babysitter
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/a5c-ai/babysitter "$T" && mkdir -p ~/.claude/skills && cp -r "$T/library/specializations/web-development/skills/vitest" ~/.claude/skills/a5c-ai-babysitter-vitest && rm -rf "$T"
manifest: library/specializations/web-development/skills/vitest/SKILL.md
source content

Vitest Skill

Expert assistance for unit and integration testing with Vitest.

Capabilities

  • Configure Vitest for projects
  • Write unit and integration tests
  • Implement mocking strategies
  • Configure coverage reporting
  • Optimize test performance

Test Patterns

import { describe, it, expect, vi, beforeEach } from 'vitest';
import { render, screen } from '@testing-library/react';
import { UserService } from './user.service';

describe('UserService', () => {
  const mockDb = { user: { findMany: vi.fn() } };

  beforeEach(() => {
    vi.clearAllMocks();
  });

  it('should fetch users', async () => {
    mockDb.user.findMany.mockResolvedValue([{ id: '1', name: 'John' }]);

    const service = new UserService(mockDb);
    const users = await service.findAll();

    expect(users).toHaveLength(1);
    expect(mockDb.user.findMany).toHaveBeenCalledOnce();
  });
});

Configuration

// vitest.config.ts
export default defineConfig({
  test: {
    globals: true,
    environment: 'jsdom',
    coverage: {
      provider: 'v8',
      reporter: ['text', 'html'],
    },
  },
});

Target Processes

  • unit-testing
  • react-testing
  • tdd-development