跳至主要内容

测试

React Strict DOM 依赖于大量的测试以及跨平台的大量测试覆盖率。

公共 API 测试

公共 API 是默认的测试表面。这使得项目能够快速地整合大量的底层更改,同时最大限度地减少回归。

默认情况下,Jest 单元测试针对 **web 和 native** 运行。特定于平台的测试定义如下

  • 带有 *.dom.js 的文件仅在 web (jsdom) 上运行。
  • 带有 *.native.js 扩展名的文件仅使用 React Native 模拟 (Node.js) 运行。
  • 带有 *.node.js 扩展名的文件仅使用 Node.js 运行。

React Strict DOM 严重依赖于快照测试来监控在 web 和 native 上渲染的树。

内部 API 测试

某些内部 API 可能需要额外的测试覆盖率。 使用与内部模块位于同一位置的 __tests__ 目录。

视觉回归测试

Expo 应用程序是 React Strict DOM 端到端开发者和用户体验的试验台。 它用于手动检查潜在的视觉和行为回归。

Expo 目前缺乏对 React Strict DOM 的内置集成,但该应用程序的目标是推动 Expo 和 Metro 的改进,以便将来可以更轻松地构建和部署新的跨平台应用程序。

性能基准测试

还会监控 web 和 native 上的捆绑包大小是否存在回归。 原生平台的 polyfill 也要进行性能监控。 目前,只有样式 polyfill 在 Node.js 中进行回归基准测试,运行在 jitless 模式下,以更好地模拟 React Native 使用的 Hermes 运行时。 这些基准测试会自动运行并报告给 GitHub 上提交的每个 Pull Request。