SuperAPI AI 工具集

javascript-testing

测试与质量

查看项目

更新于 10-15 17:22

技能介绍

用途:帮助编写和运行 JavaScript/TypeScript 测试,适用于编写 JS/TS 测试、测试 Svelte、React 或 Vue 组件、配置 Vitest/Jest、使用 mock/间谍/测试工具、运行测试或检查覆盖率。

框架选择:SvelteKit、Vite 项目推荐 Vitest;非 Vite 项目、React Native 用 Jest。

常用命令:Vitest:npx vitest(监听模式)、npx vitest run(单次运行,CI)、npx vitest run --coverage、npx vitest --ui(可视化)。Jest:pnpm test、pnpm test --watch、pnpm test --coverage。

测试结构:采用 AAA(Arrange-Act-Assert)模式,使用 describe、it、expect、beforeEach 组织用例。

Vitest 配置(SvelteKit):在 vite.config.ts 中设置 test.include、globals、environment 为 jsdom、setupFiles。

模拟:Vitest 用 vi.mock、vi.fn、vi.mocked;Jest 用 jest.mock、jest.fn,可模拟异步返回值。

组件测试:以 Svelte 为例,用 @testing-library/svelte 的 render、screen、fireEvent 编写交互测试。

常用断言:toBe(严格相等)、toEqual(深比较)、toBeTruthy、toBeNull、toContain、toHaveProperty、toThrow,以及异步的 resolves、rejects。

查询优先级(Testing Library):getByRole 最佳,其次 getByLabelText、getByPlaceholderText、getByText,getByTestId 最后。

目录结构:测试文件与源码同目录(如 Button.test.ts),tests 目录放 setup.ts 和集成测试。

SvelteKit 测试:可测试 load 函数(注入 mockFetch)和表单 actions(构造 Request 与 FormData)。

限制:资料仅覆盖 Vitest 与 Jest 相关用法,未提供具体价格、平台等其他信息。