Skip to main content

integration-e2e-testing

Selects and specifies the integration/E2E tests that own accepted behavior at the boundary where it is observable.

소스 정보

저장소
shinpr/codex-workflows
최근 소스 활동
2026년 10월 13일 12:32
감지된 SKILL.md 언어
영어
스타
39
포크
8

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
3 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
integration-e2e-testing
description
Selects and specifies the integration/E2E tests that own accepted behavior at the boundary where it is observable.
# Integration and E2E Testing ## Reference Read [references/e2e-design.md](references/e2e-design.md) only when a selected browser-level claim needs UI Spec mapping or browser harness guidance. Use the repository's browser harness when it differs from the examples. ## Selection Gate Select an integration or E2E test only when all conditions hold: 1. a confirmed AC, preserved behavior, or task Verification Focus names an observable claim; 2. the claim includes behavior observed at a component, persistence, process, browser, or service boundary; the cases of a calculation, parsing, or branching rule inside it stay with that rule's unit test; 3. no existing test owns that claim at the boundary with assertions that detect its material failure, or the Design Doc names the owning test for rewrite; in either case with an existing owner, the case updates that test; 4. the expected regression-detection value justifies the fixture, environment, runtime, and maintenance cost. When any condition fails, leave the claim to its existing owning test or task verification. An empty integration/E2E selection is a successful result and needs no absence artifact. ## Lanes and Ceilings | Lane | Use when | Ceiling per outcome | |---|---|---| | `integration` | In-process component, persistence, or contract interaction must stay real | 3 | | `fixture-e2e` | Browser-visible interaction needs the real UI but controlled backend/fixture state is sufficient | 3 | | `service-integration-e2e` | The claim specifically depends on a running local cross-service boundary that other lanes cannot prove | 2 | Ceilings are limits, not targets or reserved slots. Prefer the lowest-cost lane that proves the named claim. Real external production services are outside these lanes; verify their repository-owned contract instead. ## Candidate Selection For each boundary-dependent claim: 1. state the material failure that could remain falsely green; 2. identify the boundary that must remain real and what may be controlled or mocked; 3. compare with existing tests that already own the claim; 4. select the candidate only when it adds distinct material detection value; 5. combine claims that share setup, boundary, and observable outcome when one test can prove them clearly. Use supplied product evidence and observed repository/test cost rather than invented revenue, frequency, legal, or probability scores. When that evidence is weak, add a wider-lane test only when the boundary is the sole available proof of a binding claim. ## Skeleton Contract A generated skeleton is a non-runnable design artifact containing comments only until its implementation task makes it executable. Adapt comment syntax and filename conventions to the repository. Each selected case records: ```text AC: [binding observable claim] Behavior: [trigger] -> [boundary exercised] -> [observable result] @lane: integration | fixture-e2e | service-integration-e2e @dependency: [boundary components] @real-dependency: [dependencies that must remain real] Primary failure mode: [regression this test must detect] Proof obligation: [assertions and permitted controlled boundaries] ``` Limit additional verification items to cases where the obligation alone cannot state the proof clearly. Include complexity scores, category taxonomies, or metadata only for a named downstream consumer. ## Review Criteria A changed test passes review when it: - exercises the selected real boundary rather than a substitute path; - contains substantive assertions for the named observable result and primary failure; - controls only dependencies permitted by the proof obligation; - is deterministic and isolated enough for the repository's normal execution model. AAA comments, naming style, extra assertions, and generic readability improvements are non-blocking unless they obscure or invalidate the proof. ## Completion Check - Every selected case passed the Selection Gate. - The selected lane is the lowest-cost boundary that proves the claim. - The set stays below the lane ceilings and may be empty. - Each skeleton carries enough proof information for implementation and review without copying the Design Doc.
GitHub에서 보기