SuperAPI AI 工具集

react-testing

测试与质量

查看项目

更新于 10-16 05:49

技能介绍

用途:为 Sentry 前端编写和审查 React/TypeScript 测试,使用 Jest 与 React Testing Library,适用于 static/ 下的 *.spec.tsx 文件。

主要能力与原则:以用户交互方式测试,关注行为而非组件内部结构;测试之间不共享状态。导入统一来自 sentry-test/reactTestingLibrary,而非直接使用 @testing-library/react。查询优先级依次为 getByRole、getByLabelText/getByPlaceholderText、getByText,getByTestId 仅作最后手段。

用法要点:避免 mock hooks、函数、组件与 context,改用 MockApiClient.addMockResponse 设置响应数据,通过 render 的 organization、initialRouterConfig 等配置提供上下文,使用 PageFiltersStore 更新数据,使用 renderHookWithProviders 等辅助函数。优先使用 tests/js/fixtures/ 与 tests/js/getsentry-test/fixtures/ 中的 fixture。使用 screen 而非解构 render 返回值。存在性用 getBy,不存在用 queryBy,等待出现用 findBy,消失用 waitForElementToBeRemoved。交互使用 userEvent 而非 fireEvent。路由测试通过 initialRouterConfig 与返回的 router 断言路径、查询参数及导航。网络请求用 MockApiClient.addMockResponse 支持 GET、POST、查询参数与请求体匹配、错误状态码;异步断言必须 await,mutation 触发重新获取时需在重新获取前覆盖 mock。

限制:资料未提供安装命令、版本要求、运行命令、收费或平台信息;具体项目配置与完整 API 以实际代码库为准。