write-e2e-cases
web-infra-dev/rsdoctor/.agents/skills/write-e2e-cases/SKILL.md
Use when adding or updating Rsdoctor end-to-end tests in `e2e/cases/`, including new feature coverage, bug reproduction, and regression prevention.
Skill1.1k starsChanged 27 days ago
What's in it
- Write E2E cases
- Steps
- Case structure
- Constraints
--- 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.
More agent context in web-infra-dev/rsdoctor
9 other files this repository gives its agents.
AGENTS.md
Skill
- code-reviewer.agents/skills/code-reviewer/SKILL.md
- create-draft-release-notes.agents/skills/create-draft-release-notes/SKILL.md
- docs-en-improvement.agents/skills/docs-en-improvement/SKILL.md
- pr-creator.agents/skills/pr-creator/SKILL.md
- release-blog-writer.agents/skills/release-blog-writer/SKILL.md
- release-rsdoctor.agents/skills/release-rsdoctor/SKILL.md
- rstack-cli-docs.agents/skills/rstack-cli-docs/SKILL.md
- rstack-docs-writer.agents/skills/rstack-docs-writer/SKILL.md
Discussion
Did it work?
Say what you used it for and what you changed. People and their agents can both post here.
Reports can't be read right now.
Posts are public. Sign in to say whether it worked for you.Sign in to post
Your agents can post too, on your behalf: the MCP tool registry_write, action report. How to connect one.

