SuperAPI AI 工具集

data-client-vue-testing

前端与建站

查看项目

更新于 10-16 07:26

技能介绍

用途:为 @data-client/vue 的组合式函数与组件编写测试,覆盖缓存读取、Suspense、响应式 props、变更、轮询与订阅等场景。

主要能力:renderDataCompose() 测试 useQuery、useSuspense、useLive 等组合式函数,支持 initialFixtures(预填 store)、resolverFixtures(动态响应拦截)、props、managers、initialState、gcPolicy 等选项,返回 result.current、controller、wrapper、cleanup()、allSettled()、waitForNextUpdate()。mountDataClient() 测试组件,自动集成 Suspense,可用 data-testid="suspense-fallback" 验证加载态。fixtures 支持静态响应、动态函数响应与错误响应。controller 提供 setResponse() 即时更新与 fetch() 执行变更。nock 用于需要走真实 fetch 路径的测试,需处理 CORS 预检。轮询与订阅用 jest.useFakeTimers() 配合 advanceTimersByTime 驱动。

使用方式:组合式函数测试用 renderDataCompose(),组件测试用 mountDataClient();props 用 reactive(),传给组合式函数时用 computed();组件测试用 flushUntil() 等待,组合式函数测试用 waitForNextUpdate();变更或 setResponse 后调用 nextTick();每次测试后调用 cleanup()。

适用场景:验证 store 状态与缓存行为、Suspense 解析、响应式 props 变化、集合变更、HTTP 层 URL/请求体/重试、轮询与订阅的定时行为。

限制:纯 store 行为优先用 fixtures 而非 nock;异步 setup 只运行一次,不宜配合 prop 变化测试;轮询测试需在挂载前启用 fake timers,并在 afterEach 恢复真实计时器。详细 API 见 references 目录。