Token导航 LogoToken导航TokenDH.com
开发需要联网github未标认证来源可访问许可证需确认审计提醒

migrate-to-rstest迁移到 rstest

Agent Skill

用于辅助测试设计、自动化测试、用例整理和回归验证。它适合让 Agent 编写单元测试、端到端测试、测试计划或根据失败日志定位问题。使用时需要确认项目测试框架、运行命令和夹具数据,避免为了通过测试而改坏真实逻辑;涉及浏览器或外部服务时,应区分本地模拟、测试环境和生产环境。

总安装

3,081

周安装

131

GitHub Stars

64

下载量

1,079
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:migrate-to-rstest(迁移到 rstest)
来源仓库:https://github.com/rstackjs/agent-skills
仓库路径:skills/migrate-to-rstest
安装命令:
npx skills add https://github.com/rstackjs/agent-skills --skill migrate-to-rstest
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/rstackjs/agent-skills --skill migrate-to-rstest

简介

用于辅助测试设计、自动化测试、用例整理和回归验证,支持多宿主环境。

  • 适合编写单元测试、端到端测试或根据失败日志定位问题。
  • 需确认项目测试框架、运行命令和夹具数据,避免改坏真实逻辑。
  • 涉及浏览器或外部服务时应区分本地模拟、测试环境和生产环境。
  • migrate-to-rstest 属于开发类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Migrate to Rstest

Goal

Migrate Jest- or Vitest-based tests and configuration to Rstest with minimal behavior changes.

Migration principles (must follow)

  1. Smallest-change-first: prefer the smallest viable change that restores test pass.
  2. Config before code: prefer fixing in config/tooling/mocks before touching test logic.
  3. Do not change user source behavior: avoid modifying production/business source files unless user explicitly requests it.
  4. Avoid bulk test rewrites: do not refactor entire test suites when a local compatibility patch can solve it.
  5. Preserve test intent: keep assertions and scenario coverage unchanged unless clearly broken by framework differences.
  6. Two-phase legacy-runner lifecycle (per migrated scope): (a) While the scope being migrated is not green on Rstest, keep every Jest/Vitest dep + config/setup/workspace file untouched — they are your rollback path. (b) Once that scope is green, delete its scope-local legacy config/setup files in the same commit. Drop the shared legacy devDeps (jest, vitest, adapters, environments) only when no other scope still relies on them — in a partial / mixed-mode monorepo migration that means the final scope, not the first. Leaving files behind "for reference" creates two source-of-truth configs. Framework-specific file enumeration: see the deltas reference.
  7. Literal API substitution, no shims: rewrite every vi. / jest. / vitest. call site — no global aliasing, no local rebinding, no aliased imports. Full forbidden-form list and reasoning in references/global-api-migration.md.
  8. Replace on call sites, not strings: match only identifiers preceding (; after every batch edit, grep describe\(|it\(|test\( to confirm no test name string was mutated. Regex template and rationale in references/global-api-migration.md.
  9. Coverage thresholds are not negotiable: never lower coverage.thresholds (lines/functions/branches/statements) to make a migrated suite pass. If thresholds fail under Rstest, investigate coverage.include / exclude / provider wiring before touching the numbers.

Workflow

  1. Detect current test framework (references/detect-test-framework.md)
  2. Dependency install gate (blocker check, see references/dependency-install-gate.md)
  3. Open the framework-specific deltas file and the official migration guide it points to. Prefer the .md URL form when fetching — Rstest pages provide Markdown variants that are more AI-friendly.

- Jest: references/jest-migration-deltas.md - Vitest: references/vitest-migration-deltas.md - Global API replacement rules: references/global-api-migration.md

  1. Apply the mapping from the official guide + the skill-side enforcement rules from the deltas file
  2. Check type errors
  3. Run tests and fix deltas
  4. Apply cleanup phase of principle 6 once the migrated scope is green (delete scope-local legacy config/setup in the same commit; drop shared legacy devDeps only when no other scope still relies on them; framework-specific file list is in the deltas file)
  5. Summarize changes

Detect current test framework

See references/detect-test-framework.md for detection signals and the mixed-mode scope policy.

Dependency install gate (blocker check)

Before large-scale edits, verify dependencies can be installed and test runner binaries are available. Detailed checks, blocked-mode output format, and ni policy are in references/dependency-install-gate.md.

Patch scope policy (strict)

Preferred change order

  1. CLI/script/config migration (package.json, rstest.config.ts, include/exclude, test environment).
  2. Test setup adapter migration (for example @testing-library/jest-dom/vitest to matcher-based setup in Rstest).
  3. Mock compatibility adjustments (target module path, {mock: true}, importActual).
  4. Narrow per-test setup fixes (single-file, single-suite level).
  5. Path resolution compatibility fixes (import.meta.url vs __dirname) in test/setup helpers.
  6. As a last resort, test body changes.
  7. Never modify runtime source logic by default.

Red lines

Principles 6–9 above are themselves red lines — the bullets below cover the scope / intent red lines not captured there:

  • Do not rewrite many tests in one sweep without first proving config-level fixes are insufficient.
  • Do not alter business/runtime behavior to satisfy tests.
  • Do not change assertion semantics just to make tests pass.
  • Do not broaden migration to unrelated packages in a monorepo.

Escalation rule for large edits

If a fix would require either:

  • editing many test files, or
  • changing user source files,

stop and provide:

  1. why minimal fixes failed,
  2. proposed large-change options,
  3. expected impact/risk per option,
  4. recommended option.

Run tests and fix deltas

  • Run the test suite and fix failures iteratively.
  • Fix configuration and resolver errors first, then address mocks/timers/snapshots, and touch test logic last.
  • If mocks fail for re-exported modules under Rspack, first check whether the project is pinned to rstest < 0.9.3 (fixed in 0.9.3 — upgrade before debugging mock behavior further).

Summarize changes

  • Provide a concise change summary and list files touched.
  • Call out any remaining manual steps or TODOs.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

35.21%
按下载量换算380

Claude

31.54%
按下载量换算340

Cursor

18.79%
按下载量换算203

Gemini CLI

8.61%
按下载量换算93

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills