AGENT SKILL

testing-strategy

Comprehensive testing workflow combining TDD, real implementations (no mocking), and E2E testing. Use when implementing features, writing tests, or setting up test infrastructure.

License 许可
MIT
最近更新
2026-06-24
Stars
★ 66
Forks
24

01 前言 Front Matter

name
testing-strategy
license
MIT
metadata
{ "author": "obra/superpowers", "version": "2.0" }
description
Comprehensive testing workflow combining TDD, real implementations (no mocking), and E2E testing. Use when implementing features, writing tests, or setting up test infrastructure.
allowed-tools
Read, Glob, Grep, Edit, Write, Bash

02 资源文件 1

03 SKILL.md 正文

Testing Strategy

TDD와 실제 구현 기반 테스트를 결합한 통합 테스트 스킬입니다.

Iron Law

"NO PRODUCTION CODE WITHOUT A FAILING TEST FIRST"

RED-GREEN-REFACTOR Cycle

1. RED - 실패하는 테스트 작성

- 원하는 동작을 보여주는 최소한의 테스트 작성
- 테스트가 실패하는지 반드시 확인

2. GREEN - 테스트 통과시키기

- 테스트를 통과시키는 가장 단순한 코드 작성
- 완벽한 코드 X, 동작하는 코드 O

3. REFACTOR - 리팩토링

- 코드 정리 (중복 제거, 명명 개선)
- 테스트가 계속 통과하는지 확인

No Mocking Policy

실제 구현을 테스트하라

❌ 금지

jest.mock('./database');
jest.mock('./api');

✅ 허용

// 실제 테스트 DB 또는 인메모리 DB 사용
const db = await createTestDatabase();

// MSW로 실제 HTTP 계층 테스트
const server = setupServer(
  rest.get('/api/users', (req, res, ctx) => {
    return res(ctx.json([{ id: 1, name: 'Test' }]));
  })
);

E2E Testing (Playwright)

test('user can complete checkout', async ({ page }) => {
  await page.goto('/products');
  await page.click('[data-testid="add-to-cart"]');
  await page.click('[data-testid="checkout"]');
  await expect(page.locator('.confirmation')).toBeVisible();
});

Test Categories

유형 범위 도구
Unit 함수/클래스 Vitest, Jest
Integration 모듈 간 연동 실제 DB, MSW
E2E 전체 사용자 흐름 Playwright

Checklist

  • [ ] 모든 함수가 테스트됨
  • [ ] 테스트가 먼저 실패하는 것을 확인
  • [ ] Mock 사용 없음 (MSW 허용)
  • [ ] E2E로 핵심 흐름 검증

04 同仓库更多 Skills