mcpField
R
react-testing-library

react-testing-library

github.com/pproenca测试与质量220406 次安装11 周前更新
代码仓库

关于 react-testing-library

面向使用 Testing Library 编写 React 组件测试的开发者和 AI Agent,提供 9 类共 43 条分优先级规则,涉及查询、异步行为、交互、断言、设置、无障碍与调试。

主要功能

  1. 019 类共 43 条规则
  2. 02查询选择与异步测试指导
  3. 03用户交互与断言实践
  4. 04组件设置与测试结构
  5. 05调试和无障碍检查

适用场景

  1. 01编写新的 React 组件测试
  2. 02选择查询方式并处理异步结果
  3. 03检查测试是否验证了实现细节
  4. 04测试焦点管理和 ARIA 状态

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/pproenca/dot-skills --skill react-testing-library

安装后在 Claude Code 中输入/react-testing-library确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

metadata.json
README.md
assets/templates/
_template.md
references/
_sections.md
a11y-role-queries-verify.md
a11y-test-aria-states.md
a11y-verify-focus.md
anti-container-queries.md
anti-empty-waitfor.md
anti-implementation-details.md
anti-manual-cleanup.md
anti-redundant-roles.md
anti-unnecessary-act.md
assert-accessible-description.md
assert-have-value.md
assert-jest-dom-matchers.md
assert-text-content.md
assert-visible-over-in-document.md
async-await-findby.md
async-findby-over-waitfor.md
async-no-side-effects-waitfor.md
async-single-assertion-waitfor.md
async-waitfor-disappear.md
debug-logroles.md
debug-screen-debug.md
debug-testing-playground.md
query-avoid-testid.md
query-get-vs-query.md
query-label-text-forms.md
query-prefer-role.md

详细介绍

React Testing Library 最佳实践

面向 AI Agent 和大模型的 React 组件 Testing Library 综合测试指南。包含 9 个类别中的 43 条规则,并按影响优先级排序,指导测试编写和代码审查。

适用场景

在以下情况下参考这些指南:

  • 使用 React Testing Library 编写新的组件测试
  • 选择查询方式(getByRole、getByLabelText 等)
  • 处理测试中的异步操作(findBy、waitFor)
  • 模拟用户交互(userEvent)
  • 审查测试中的反模式和对实现细节的测试

按优先级划分的规则类别

优先级类别影响前缀
1查询选择严重query-
2异步处理严重async-
3常见反模式严重anti-
4用户交互高user-
5断言高assert-
6组件设置中setup-
7测试结构中struct-
8调试低至中debug-
9无障碍测试低a11y-

快速参考

1. 查询选择(严重)
2. 异步处理(严重)
3. 常见反模式(严重)
4. 用户交互(高)
5. 断言(高)
6. 组件设置(中)
7. 测试结构(中)
8. 调试(低至中)
9. 无障碍测试(低)

使用方法

阅读各个参考文件,了解详细说明和代码示例:

参考文件

文件说明
references/_sections.md类别定义和排序
assets/templates/_template.md新规则模板
metadata.json版本和参考信息

评论

支持 Markdown