mcpField
R
react-native-testing

react-native-testing

github.com/maikotrindade测试与质量1351 次安装2 天前更新
代码仓库

关于 react-native-testing

为 React Native Testing Library 和 Jest 单元及组件测试提供参考的技能。它强调按已安装版本选择指南,并将此类测试与 Maestro 端到端流程区分开来。

主要功能

  1. 01提供 React Native Testing Library v13 和 v14 参考
  2. 02根据 package.json 选择版本
  3. 03说明查询与交互 API
  4. 04提供异步测试和无障碍建议
  5. 05涵盖常见测试反模式

适用场景

  1. 01为已安装版本选择 API
  2. 02使用 Jest 编写 React Native 组件测试
  3. 03避免查询和异步测试中的常见错误

安装

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

$npx skills add https://github.com/maikotrindade/awesome-react-native-skills --skill react-native-testing

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

包含的文件

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

references/
best-practices-anti-patterns.md
core-patterns.md
reference-v13-api.md
reference-v14-api.md

详细介绍

React Native Testing Library

@testing-library/react-native v13 和 v14 的详细 API 参考。

范围: 使用 Jest + RNTL 进行单元测试和组件测试。要在真实设备/模拟器上测试端到端 UI 流程,请使用 Maestro——声明式 YAML 流程,无需编写代码,可针对构建后的应用运行。RNTL 和 Maestro 相辅相成,并非互相替代。

重要: v13 和 v14 的 API 签名、同步/异步行为和可用函数各不相同。请务必检查项目的 package.json,并加载对应版本的参考文档,不要依赖记忆中的用法。

版本检测

检查 package.json 中的 @testing-library/react-native:

核心参考

主题描述参考文档
核心模式查询优先级、render/screen、userEvent 与 fireEvent、waitFor、11 条核心规则core-patterns
v13 API(React 18)同步 render、完整方法表、同步 fireEvent、React 19 兼容性垫片reference-v13-api
v14 API(React 19)异步 render、基于 await 的 API、已移除的 API、v13→v14 迁移 codemodreference-v14-api
反模式错误的查询、误用 waitFor、不必要的 act、解构、遗漏 awaitbest-practices-anti-patterns

关键建议

  • 查询时始终使用 screen——不要从 render() 中解构
  • 优先使用 getByRole,并传入 { name: '...' } 选项(最符合无障碍设计)
  • 异步元素使用 findBy*——不要组合使用 waitFor 和 getBy*
  • 优先使用 userEvent 而非 fireEvent——交互模拟更真实
  • 仅在断言元素不存在时使用 queryBy*(.not.toBeOnTheScreen())
  • v14:始终对每个 API 使用 await(包括 render、fireEvent、act)

评论

支持 Markdown