SuperAPI AI 工具集

data-client-react-testing

前端与建站

查看项目

更新于 10-16 02:32

技能介绍

用途:为 @data-client/react 编写 jest 单元测试,覆盖 Hook、组件、数据请求与 mutation。

主要能力:renderDataHook() 测试使用 @data-client/react Hook 的逻辑,支持 initialFixtures(初始化 store 状态)、resolverFixtures(后续请求拦截器)、getInitialInterceptorData(模拟变化的服务端状态),返回 @testing-library/react renderHook 的全部返回值,外加 controller 与 allSettled()。MockResolver 配合 DataProvider 为组件渲染提供 fixture 数据。fixtures 支持成功响应、error、delay;interceptor 支持 response 函数与 delay、delayCollapse。nock 用于测试网络定义。

用法:从 @data-client/test 导入 renderDataHook、MockResolver;fixture 需指定 endpoint、args、response。测试 mutation 时用 resolverFixtures 的 response 函数返回新数据。测试错误时在 fixture 中设置 error。测试 Manager 时通过 managers 选项传入 mock manager。清理自动完成,模块加载时注册 afterEach,无需手动调用 renderDataHook.cleanup()。

适用场景:Hook 测试、组件测试、mutation 与副作用测试、错误状态测试、网络层测试。

限制与建议:测试文件放在 packages//src/**/tests,命名区分 .node.test.ts[x]、.native.test.ts[x]、.test.ts[x];不要直接 mock @data-client 内部实现,有 fixtures 时不要用原始 fetch,不要在 afterEach 手动 cleanup。详细 API 见 references 目录。