React UI 测试的非确定性难题

2025-01-31

React UI 测试的挑战在于其异步更新机制。与直接操作 DOM 不同,React 的渲染器异步更新 UI,测试难以精确把握 UI 状态的更新时机。测试工具如 `act` 和 `waitFor` 只能缓解问题,但本质上是“最终会发生某些事”的权宜之计。微小的 UI 变化(如动画延迟、状态更新顺序)都可能导致测试失败,需要大量修改现有测试。这使得 React UI 测试维护成本高昂,成为许多开发团队的痛点。