SuperAPI AI 工具集

condition-based-waiting

测试与质量

查看项目

更新于 10-16 00:30

技能介绍

用途:解决测试中的竞态条件、时序依赖和忽通过忽失败问题。核心原则是等待真正关心的条件,而不是猜测需要多久。

主要能力与用法:当测试使用 setTimeout、sleep 等任意延迟,或存在偶发失败、并行超时、需等待异步操作完成时使用。典型写法是调用 waitFor 轮询条件,例如 await waitFor(() => getResult() !== undefined)。可等待事件、状态、数量、文件存在或组合条件。提供通用轮询函数 waitFor(condition, description, timeoutMs = 5000),默认每 10ms 轮询一次,超时抛出带描述的错误。

适用场景与限制:测试真实的时间行为(如防抖、节流间隔)时,不应改用条件等待;若必须使用固定超时,需注明原因并基于已知时序。常见错误包括轮询过快(如 1ms 浪费 CPU,建议 10ms)、缺少超时导致死循环、在循环外缓存状态导致数据过期。资料未提供完整安装命令与平台信息。