원클릭으로
testing-patterns
Integration test philosophy -- test observable behavior, fixture composition, canary markers for library internals.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Integration test philosophy -- test observable behavior, fixture composition, canary markers for library internals.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
How agents, skills, and commands work in Claude Code projects.
GitHub conventions -- branch naming, commit format, issue/PR templates, and safe issue/PR referencing in comments.
API error response format -- machine-readable codes, human-readable reasons, status code rules.
Language-agnostic code hygiene -- honest comments, no dead/reinvented/duplicated code, truthful names, real implementations, and scoped (never blanket) diagnostic suppressions.
Language-agnostic structural craft -- decompose on responsibility not size, prefer deep modules over shallow piles, and shape cohesion, coupling, interfaces, error contracts, and data invariants. Sibling to code-hygiene and readable-code.
Documentation writing conventions -- style, structure, tone, and quality standards.
| name | testing-patterns |
| description | Integration test philosophy -- test observable behavior, fixture composition, canary markers for library internals. |
| when_to_use | Writing tests, reviewing test code, or deciding between unit and integration tests. |
Integration tests must verify observable behavior through endpoints, not implementation details.
Good integration tests:
Bad integration tests:
If a test starts with boilerplate setup (register a user, log in, configure a setting), that belongs in a fixture. Test bodies should stay focused on what they're actually testing.
Build fixture stacks: user -> logged_in_user -> admin_user. Each level adds one concern. Tests request the level they need.
When code depends on a library's private or poorly-documented internals, add a canary test that asserts the internal's shape directly -- don't rewrite production code to avoid the dependency when doing so would cost real accuracy or capability.
The canary turns an upstream rename or shape change into a loud test failure instead of a silent runtime bug.
Canary practices:
test_library_rate_limit_contract), since it'll likely be read by whoever just bumped a dep