SuperAPI AI 工具集

clerk-testing

测试与质量

查看项目

更新于 10-16 06:48

技能介绍

用途:为使用 Clerk 认证的应用编写端到端(E2E)测试,覆盖登录等认证流程,支持 Playwright 与 Cypress 两种框架。

主要能力与心智模型:测试认证的关键是隔离的会话状态,每个测试都需要全新的认证上下文。clerkSetup() 用于初始化测试环境;setupClerkTestingToken() 用于绕过机器人检测;storageState 可在测试之间持久化认证状态以提升速度。

使用方式:先确定测试框架(Playwright 或 Cypress),再按官方文档的对应页面执行设置步骤。官方文档入口:总览 https://clerk.com/docs/guides/development/testing/overview ;Playwright https://clerk.com/docs/guides/development/testing/playwright/overview ;Cypress https://clerk.com/docs/guides/development/testing/cypress/overview 。仅使用 pk_test_* 与 sk_test_* 测试密钥。

最佳实践:在导航到认证页面前调用 setupClerkTestingToken();使用测试 API 密钥 pk_test_xxx、sk_test_xxx;用 storageState 保存认证状态以加快测试;用 page.waitForSelector('[data-clerk-component]') 等待 Clerk UI。

框架特定做法:Playwright 使用 globalSetup 处理认证状态;Cypress 在 support 文件中加入 addClerkCommands({ Cypress, cy })。

反模式:测试中使用生产密钥存在安全风险,应改用 pk_test_*;未调用 setupClerkTestingToken() 会导致认证失败,应在导航前调用;每个测试都通过 UI 登录会使测试变慢,应使用 storageState。

相关技能:clerk-setup(先安装 Clerk 再添加测试)、clerk-nextjs-patterns(被测试的 Next.js 模式)。

限制:资料未提供具体安装命令、版本要求、价格与平台支持细节,暂未提供。