mcpField
C
clerk-testing

clerk-testing

github.com/clerkテスト・品質8946.7k 回インストール今日更新
リポジトリ

clerk-testing について

clerk-testing は、Playwright と Cypress で Clerk の認証テストを構成するスキルです。分離されたセッションと認証状態の再利用方法を案内します。

主な機能

  1. 01Playwright と Cypress の設定ガイド
  2. 02テストごとの認証コンテキスト分離
  3. 03テストトークンの設定
  4. 04storageState による認証状態の保存

活用シーン

  1. 01Clerk のエンドツーエンドテストの設定
  2. 02保存した認証状態による反復テストの高速化

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/clerk/skills --skill clerk-testing

インストール後、Claude Code で/clerk-testingを入力して読み込まれたか確認します。

詳細

テスト

判断ツリー

フレームワークドキュメント
概要https://clerk.com/docs/guides/development/testing/overview
Playwrighthttps://clerk.com/docs/guides/development/testing/playwright/overview
Cypresshttps://clerk.com/docs/guides/development/testing/cypress/overview

メンタルモデル

認証テストでは、セッション状態を分離します。各テストには新しい認証コンテキストが必要です。

  • clerkSetup() でテスト環境を初期化します
  • setupClerkTestingToken() でボット検出を回避します
  • storageState でテスト間の認証状態を保持し、処理を高速化します

ワークフロー

  1. テストフレームワーク(Playwright または Cypress)を特定します
  2. 上記の判断ツリーから該当する URL を WebFetch します
  3. 公式のセットアップ手順に従います
  4. 開発インスタンスのキーのみを使用します(pk_test_* / sk_test_*)。プロジェクトにキーがまだない場合は、npx clerk@latest init(Clerk CLI。clerk-setup を参照)で Clerk アプリケーションを作成し、開発インスタンスのキーを環境ファイルに書き込みます。Clerk アカウントも Dashboard へのアクセスも必要ありません。

ベストプラクティス

  • 認証ページに移動する前に setupClerkTestingToken() を使用します
  • テスト用 API キーを使用します:pk_test_xxx、sk_test_xxx
  • storageState で認証状態を保存し、テストを高速化します
  • Clerk UI には page.waitForSelector('[data-clerk-component]') を使用します

アンチパターン

パターン問題修正
テストで本番用キーを使用するセキュリティリスクpk_test_* キーを使用します
setupClerkTestingToken() を使用しない認証に失敗するページ遷移の前に呼び出します
毎回 UI からサインインするテストが遅くなるstorageState を使用します

フレームワーク固有の設定

Playwright:認証状態には globalSetup を使用します Cypress:サポートファイルに addClerkCommands({ Cypress, cy }) を追加します

関連項目

  • clerk-setup - テストを追加する前に Clerk をインストールします
  • clerk-nextjs-patterns - テスト対象の Next.js パターン
  • デモリポジトリ

コメント