mcpField
C
clerk-testing

clerk-testing

github.com/midudevテスト・品質7.0k57 回インストール1 週間前に更新
リポジトリ

clerk-testing について

Clerkを使う開発者向けのテストリファレンスです。PlaywrightとCypressの設定や認証状態の扱いを説明し、開発用キーと状態の再利用を案内します。

主な機能

  1. 01PlaywrightとCypressに対応
  2. 02テスト環境の初期化
  3. 03ボット検知の回避
  4. 04storageStateによる認証状態の保存

活用シーン

  1. 01サインインフローのブラウザテスト
  2. 02テスト間での認証状態の再利用

インストール

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

$npx skills add https://github.com/midudev/autoskills --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 パターン
  • デモリポジトリ

コメント