Agent skill
unit-test-generation
Generate comprehensive unit tests for source files with 100% coverage target. Use when writing tests for React components, utility functions, hooks, or API routes. Supports Jest and Vitest frameworks following Pandora coding standards.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/testing/unit-test-generation
SKILL.md
Unit Test Generation Skill
Generate comprehensive unit tests for any source code with a target of 100% coverage.
When to Use
This skill activates when:
- User asks for unit tests for a file or component
- Code needs test coverage
- User mentions "test", "coverage", "jest", "vitest"
- After writing new code that needs testing
Supported File Types
- React components (
.tsx,.jsx) - Utility functions (
.ts,.js) - Custom hooks (
use*.ts,use*.tsx) - API routes (
route.ts,api/*.ts) - Classes and modules
Test Generation Process
-
Analyze the source file:
- Identify exported functions, components, hooks
- Map conditional branches and logic paths
- Note dependencies and imports
-
Generate test cases for:
- Happy path scenarios
- Edge cases (empty, null, boundary)
- Error handling paths
- All branches and conditions
-
Write test code following patterns:
- Use React Testing Library for components
- Mock external dependencies
- Use descriptive test names
- Group with describe blocks
Test File Template
import { render, screen, fireEvent } from '@testing-library/react';
import { ComponentName } from './ComponentName';
describe('ComponentName', () => {
describe('rendering', () => {
it('should render correctly with default props', () => {
render(<ComponentName />);
expect(screen.getByRole('...')).toBeInTheDocument();
});
});
describe('interactions', () => {
it('should handle click events', () => {
const onClick = jest.fn();
render(<ComponentName onClick={onClick} />);
fireEvent.click(screen.getByRole('button'));
expect(onClick).toHaveBeenCalled();
});
});
describe('edge cases', () => {
it('should handle empty props gracefully', () => {
render(<ComponentName items={[]} />);
expect(screen.getByText('No items')).toBeInTheDocument();
});
});
});
Best Practices
- Test behavior, not implementation
- Use meaningful test descriptions
- Keep tests independent and isolated
- Mock external services and APIs
- Test accessibility where applicable
- Aim for 100% branch coverage
- Follow AAA pattern (Arrange, Act, Assert)
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?