Skip to main content

write-e2e-cases

Use when adding or updating Rsdoctor end-to-end tests in `e2e/cases/`, including new feature coverage, bug reproduction, and regression prevention.

Source facts

Repository
web-infra-dev/rsdoctor
Last source activity
August 31, 2026 at 08:03
Detected SKILL.md language
English
Stars
1,149
Forks
107

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
write-e2e-cases
description
Use when adding or updating Rsdoctor end-to-end tests in `e2e/cases/`, including new feature coverage, bug reproduction, and regression prevention.
# Write E2E cases Rsdoctor E2E tests use **Playwright** and live under `e2e/cases/`. Each bundler has its own directory: - `e2e/cases/doctor-rspack/` — tests using Rspack compilation - `e2e/cases/doctor-rsbuild/` — tests using Rsbuild - `e2e/cases/doctor-rspeedy/` — tests using Rspeedy ## Steps 1. Review uncommitted git changes to define test scope and target behavior. 2. Read `e2e/README.md` and follow its conventions. 3. Use helpers from `@scripts/test-helper` (for example `compileByRspack`) to compile fixtures. Do **not** call bundler APIs directly. 4. Add Playwright test files under the appropriate `e2e/cases/doctor-*` directory, following existing patterns. 5. Test fixtures (source files, loaders, configs) go in `fixtures/` subdirectories inside each case directory. 6. Keep assertions focused and readable; avoid redundant setup and checks. 7. Run `pnpm e2e` from the repository root to validate. ## Case structure - Each test file creates an Rsdoctor plugin instance (e.g., `createRsdoctorPlugin` from a local `test-utils.ts`), compiles a fixture via `compileByRspack`, and asserts on the SDK store data. - Fixtures are plain JS/TS files and loaders in `fixtures/` — not full application directories. - Use `@rsdoctor/core/plugins` for `getSDK` / `setSDK` when inspecting analysis results. ## Constraints - If tests can pass only after source-code changes, do not change source code directly. Explain the required source change and ask the user before proceeding.
View on GitHub