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,079
Forks
167

安装方式

默认使用会先检查来源的 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 查看