SuperAPI AI 工具集

testing-library

测试与质量

查看项目

更新于 10-16 09:32

技能介绍

Testing Library 是简单完整的 UI 测试工具,鼓励良好的测试实践,主要用于测试 React、Vue、Svelte 等框架的 UI 组件。

安装方面,React 使用 npm install --save-dev @testing-library/react @testing-library/jest-dom @testing-library/user-event;Vue 使用 npm install --save-dev @testing-library/vue。

核心能力包括:查询(queries)以可访问性优先,推荐 getByRole、getByLabelText 等;查询类型分 getBy(找不到抛错)、queryBy(找不到返回 null)、findBy(返回 Promise 等待异步元素)及对应的 All 版本。用户事件(user events)通过 userEvent.setup() 创建实例,所有交互为异步,支持 click、dblClick、hover、type、clear、tab、keyboard、selectOptions、upload、paste 等。异步工具提供 waitFor、findBy 查询和 waitForElementToBeRemoved。此外有 jest-dom 匹配器用于可见性、存在性、表单状态、属性、焦点和可访问性断言,并可用 vi.fn() 模拟函数、配合 MSW 模拟 API。

使用方式:先用 render 渲染组件,再通过 screen 查询元素,用 userEvent 模拟交互,用 waitFor 或 findBy 处理异步更新。调试可用 screen.debug()、screen.logTestingPlaygroundURL()。最佳实践包括优先按角色查询、使用 userEvent 而非 fireEvent、避免测试实现细节、异步用 findBy、从用户视角测试。资料未提供收费、价格、平台或效果信息,更多细节可参考 references 中的 queries.md、matchers.md、async.md。