用途:修复和创建 Svelte 5 测试,覆盖客户端组件测试、SSR 测试与 Playwright 端到端测试,适用于修复损坏测试、调试失败、编写单元/SSR/e2e 测试等场景。
主要能力与用法:客户端组件测试使用 vitest-browser-svelte 的 render 渲染组件,配合 vitest 的 expect 断言,例如 import { render } from 'vitest-browser-svelte',再通过 page.getByRole('button', { name: /click me/i }) 获取元素并 await button.click(),用 await expect.element(button).toHaveTextContent('Clicked: 1') 断言。
核心原则:始终使用 page.getBy*() 定位器,不要用容器;多个元素时用 .first()、.nth()、.last() 避免严格模式冲突;测试中访问 $derived 值时使用 untrack();尽量使用真实 API 对象(如 FormData/Request),减少 mock。
文件组织:将 .svelte.test.ts(客户端)、.test.ts(Node)、.ssr.test.ts(可选 SSR)、.e2e.ts(Playwright)就近放置。CLI 基线覆盖客户端/服务端项目与断言强制,Playwright 匹配 **/*.e2e.{ts,js}。从 vitest/browser 导入 page,使用渲染器 v3 时 await render;导入 render 会自动注册清理,无需 setup 文件。
注意事项:组件测试中测试表单状态但不要提交 SvelteKit 表单,定位器断言用 await expect.element();Playwright E2E 中提交真实表单并使用 await expect(locator)。
限制:资料未提供安装命令、版本要求、收费与平台信息,暂未提供。