Claude Code Plugins

Community-maintained marketplace

Feedback

测试规范与最佳实践。Use when writing unit tests, integration tests, or component tests. Triggers on: creating test files, using Vitest, Testing Library, mocking, test organization questions.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md


name: testing description: 测试规范与最佳实践。Use when writing unit tests, integration tests, or component tests. Triggers on: creating test files, using Vitest, Testing Library, mocking, test organization questions.

Testing Guide

测试规范,涵盖 Vitest、Testing Library 和测试组织。

Quick Start

import { describe, it, expect } from 'vitest';

describe('ModuleName', () => {
  it('should behavior description', () => {
    expect(actual).toBe(expected);
  });
});

Test Location

All tests in __tests__/ directory, mirroring source structure:

__tests__/
├── lib/utils/
├── lib/services/
├── components/
└── hooks/

File Naming

  • Unit tests: *.test.ts / *.test.tsx
  • Integration tests: *.spec.ts / *.spec.tsx

Commands

pnpm test           # Run all tests
pnpm test:watch     # Watch mode
pnpm test:coverage  # Coverage report

Component Test

import { render, screen } from '@testing-library/react';
import { Button } from '@/components/ui/button';

describe('Button', () => {
  it('should render children', () => {
    render(<Button>Click</Button>);
    expect(screen.getByText('Click')).toBeInTheDocument();
  });
});

Mocking

import { vi } from 'vitest';

vi.mock('@/lib/services', () => ({
  UserService: {
    getUser: vi.fn().mockResolvedValue({ id: '1' }),
  },
}));

Coverage Requirements

  1. Normal path - Expected behavior
  2. Edge cases - Empty, null, boundary values
  3. Error handling - Exception scenarios