# Test Writer

> Write test code. 100% coverage, SSR tests, edge cases. Use when writing tests, adding test coverage.

- Skill: `toss/test-writer` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add toss/test-writer`
- Raw SKILL.md: https://api.skillmd.com/api/skills/toss/test-writer/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: toss (https://skillmd.com/u/toss)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/toss/test-writer

---


# Test Writer

Writes tests that achieve 100% coverage.

## Quick Start

```bash
yarn test:spec      # Run a single test
yarn test:coverage  # Check coverage
```

## Core Patterns

### 1. SSR Test (Required)

```typescript
it('is safe on server side rendering', () => {
  const result = renderHookSSR.serverOnly(() => useHook());
  expect(result.current).toBeDefined();
});
```

### 2. Basic Behavior Test

```typescript
it('returns expected value', () => {
  const { result } = renderHook(() => useHook(input));
  expect(result.current).toBe(expected);
});
```

### 3. Edge Cases

```typescript
it('handles null/undefined', () => { ... });
it('handles empty values', () => { ... });
```

### 4. State Change Test

```typescript
it('updates when state changes', () => {
  const { result, rerender } = renderHook(({ value }) => useHook(value), {
    initialProps: { value: 'initial' },
  });
  rerender({ value: 'updated' });
  expect(result.current).toBe('updated');
});
```

## Coverage Check

All lines, branches, and functions must have 100% coverage.

## References

- [details.md](references/details.md) - Advanced test patterns

