testWidgets 的 fake-async 区中发起真实文件 IO(refresh/下载落盘)会因 fake 微任务队列无人冲刷而永久挂起;改为 runAsync 包裹准备阶段调用, 交互阶段用 pump/真实等待交替循环驱动异步链直至 UI 呈现目标状态。 取消测试改用真实流式 BaseClient,避免 MockClient 整体物化流导致 进度永远停在 0。
testWidgets 的 fake-async 区中发起真实文件 IO(refresh/下载落盘)会因 fake 微任务队列无人冲刷而永久挂起;改为 runAsync 包裹准备阶段调用, 交互阶段用 pump/真实等待交替循环驱动异步链直至 UI 呈现目标状态。 取消测试改用真实流式 BaseClient,避免 MockClient 整体物化流导致 进度永远停在 0。