工程开发
svelte-testing avatar

svelte-testing

Svelte 5 测试专家,运用 vitest-browser-svelte 与 Playwright。提供单元测试、SSR 与 E2E 测试模式,并附带供 AI 助手使用的 CLI 工具以检索测试示例。

简介

Svelte-testing 是一项专业技能,旨在协助开发人员编写、除错并维护现代 Svelte 5 应用程序的高质量测试。它结合了 vitest-browser-svelte 框架与 Playwright,确保测试在真实浏览器环境中运行,有效弥补单元测试与生产环境行为之间的差距。此技能非常适合在 SvelteKit 环境中工作的软件工程师,他们需要实施强大且尽量减少 Mock 的测试策略,以涵盖客户端互动与服务端逻辑。

  • 针对使用 locators 如 page.getBy*() 进行客户端组件测试的专家级模式。

  • 针对 SvelteKit API 路由、服务端 Hook 与服务端渲染 (SSR) 验证的深入整合指南。

  • 实作客户端与服务端对齐策略,使用真实的 FormData、Request 物件与 TypeScript 契约,以防止整合时的不匹配。

  • 针对 Svelte 5 runes 的进阶测试,包括正确使用 untrack() 处理 $derived 状态值。

  • 以无障碍为优先的测试工作流程,强调屏幕阅读器兼容性与键盘导航。

  • 完整支持 E2E 测试场景,包括身份验证、表单提交与复杂的状态管理。

  • 通过 pnpx sveltest 调用 CLI,直接在您的工作流程中列出、搜索或撷取特定的测试模式。

  • 遵循核心原则:优先使用 locators 而非容器,使用真实浏览器对象处理数据,并避免手动点击表单提交,改用 expect.element() 断言。

  • 一致地组织测试档案:使用 .svelte.test.ts 处理客户端组件,.ssr.test.ts 处理渲染检查,以及 server.test.ts 处理 API 路由。

  • 将此技能作为文档来源,以解决常见问题,例如 Hydration 错误、严格模式违规以及浏览器测试中的非同步竞争条件。

  • 输入:组件档案、测试规范与整合需求。输出:优化且符合标准的测试代码,遵循 Svelte 生态系统的最佳实践。

仓库统计

Star 数
109
Fork 数
7
Open Issue 数
1
主要语言
TypeScript
默认分支
main
同步状态
空闲
最近同步时间
2026年5月3日 16:05
在 GitHub 查看