Skip to main content

pr-integration-test

Design, implement, and validate Intelligent Terminal integration tests for a target pull request or regression. Use when asked to add PR integration tests, convert a bug fix into E2E coverage, prove existing behavior still works, map tests to the release checklist, or verify E2E reports mark checklist cases complete.

소스 정보

저장소
microsoft/intelligent-terminal
최근 소스 활동
2026년 9월 4일 07:07
감지된 SKILL.md 언어
영어
스타
2,216
포크
175

설치 방법

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

소스 파일 검토

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

파일 탐색기
2 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
pr-integration-test
description
Design, implement, and validate Intelligent Terminal integration tests for a target pull request or regression. Use when asked to add PR integration tests, convert a bug fix into E2E coverage, prove existing behavior still works, map tests to the release checklist, or verify E2E reports mark checklist cases complete.
# PR Integration Test Turn a target PR into durable, behavior-focused integration coverage that proves the fixed path, protects existing behavior, and updates the generated release checklist. ## When to Use This Skill - Convert an open or merged PR into cross-component regression coverage. - Extend `doc/release-check-list.md` and make report scripts check the new rows. - Audit whether a PR's existing tests cover the user-visible behavior rather than only its implementation details. ## Prerequisites - Read `test/e2e/README.md` and reuse the ItE2E framework instead of creating a parallel harness. - Treat the source revision and deployed package as separate decisions. For a PR, test the intended PR head/feature-branch revision through a Dev build by default; a previously installed Dev package is not proof that the PR code ran. - Before running any live integration test, identify the target package from the user's request. If the user did not explicitly choose **Dev** or **Store/production**, use `ask_user` and wait for the answer. In a PR context, make **Dev built from the PR head/feature branch** the recommended/default choice. Never select a package solely from installed-package discovery. - Use Store only when the user explicitly asks to test the production/shipped build. Store results establish a production baseline; they do not validate unshipped changes in the PR. - Pin the chosen package through `$env:ITE2E_PACKAGE = 'Dev'` or `$env:ITE2E_PACKAGE = 'Store'` for every live validation command. - Run `pwsh -File test/e2e/bootstrap.ps1 -Check` before live E2E validation. ## Workflow Follow [workflow.md](./references/workflow.md). Track the phases with a TODO list. `analyze PR -> reconstruct behavior -> audit coverage -> design matrix -> write ItE2E -> wire checklist -> validate -> deliver` ## Test Design Standard For every proposed case, record: | Field | Required answer | |-------|-----------------| | Contract | What user-visible behavior must remain true? | | Trigger | What exact action or input exercises it? | | Boundary | Which real component handoff does this test add beyond unit tests? | | Oracle | What deterministic observable proves success or suppression? | | Negative control | What similar input must not trigger the behavior? | | Existing protection | Which existing tests protect old behavior and must still run? | | Checklist title | Which exact bold release-checklist title contains the Pester test name? | ## Oracle Priority Prefer the earliest deterministic product-owned signal: 1. Protocol/event stream 2. Persisted or queryable application state 3. Structured diagnostic log 4. Rendered terminal or UI state 5. LLM-generated text Use model output only when it is the behavior under test; never use it to prove routing, triggers, suppression, or idempotency. ## Release Checklist Contract - Add one unchecked `[E2E]` checklist item per independently releasable behavior. - Give each item a concise bold title that appears verbatim in the matching Pester full name (`Describe.Context.It`). - Prefer exact-title matching. Add `test/e2e/release-coverage-map.psd1` entries only when an exact test name would be misleading or one case intentionally covers multiple checklist items. - Assign stable IDs and verify `[x]` output through the full and incremental report paths in [workflow.md](./references/workflow.md). ## Completion Gate Do not call the work complete until all of these are true: - Pre-fix evidence identifies the regression, and the fixed path crosses the real integration boundary. - For PR validation against Dev, the tested package is proven to contain the intended PR head/feature-branch revision. - Relevant false positives, replay risks, and existing behavior are covered. - The correct build passes related suites and marks new checklist IDs `[x]`; every skip is explained. ## Gotchas - **Never run a live integration test with an implicit or `Auto` package selector.** Ask first, then pin `ITE2E_PACKAGE`. Installed-package discovery cannot establish user intent or prove that a Dev package contains PR code. - **Do not use Store to validate a PR's unshipped code.** Prefer a Dev package built and deployed from the PR head/feature branch. Use Store only for an explicitly requested production baseline and label the result accordingly. - **Do not test only the implementation detail named in the PR.** Reconstruct the end-to-end user path and assert the observable contract. - **Do not duplicate a unit test at E2E level.** Add the missing process, protocol, persistence, packaging, or UI boundary. - **Do not use a successful lower-layer event as proof of the final feature.** When the contract is downstream, assert both the trigger and its downstream effect. - **Do not turn product failures into skips.** Skip only when an external prerequisite is genuinely unavailable. A connected product that behaves incorrectly must fail. ## References - [Detailed PR-to-integration-test workflow](./references/workflow.md) - [ItE2E framework](../../../test/e2e/README.md) - [Release checklist](../../../doc/release-check-list.md)
GitHub에서 보기