用途:帮助编写和运行 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 相关用法,未提供具体价格、平台等其他信息。