メインコンテンツへスキップ

コマンドパレット

実行するコマンドを検索...

Better Auth を使った E2E テスト

執筆者
Nelson Lai のアバター
Nelson Lai
公開日
--
閲覧数
--
コメント
--
Better Auth を使った E2E テスト

TL;DR

有効なセッショントークンを生成してクッキーとして保存する必要があります。これにより、E2E テストが手動ログインなしに認証済みルートにアクセスできます。この方法は、クレデンシャルベースと OAuth 認証の両方に対応しています。

GitHub リポジトリ:nelsonlaidev/e2e-testing-with-better-auth

はじめに

このガイドでは、E2E テストフレームワークとして Playwright を使用しますが、概念は Cypress などの他のフレームワークにも応用できます。

シンプルにするため、クレデンシャルベースの認証例を使用します。ただし、同じ原則が OAuth プロバイダーにも適用されます。

また、デモ目的で SQLite データベースを使用します。セットアップに合わせてデータベースのやり取り (例:テーブル名、カラム型) を調整してください。

セッショントークンの生成

認証済みセッションをシミュレートするために、BETTER_AUTH_SECRET を使って署名済みセッショントークンを生成します。このトークンはセッションクッキーで使用されます。

テストデータの挿入

テスト中に複数のユーザーが作成されないよう、テストユーザーを静的に保ちます。まだ存在しない場合は、テストユーザー、アカウント、セッションをデータベースに挿入します。シンプルにするため、すべての主キーに 0 を使用します。

セッションの保存

テストフレームワークで使用するために、署名済みトークンを JSON ファイルにクッキーとして保存します。クッキー値は必ず encodeURIComponent してください。

テストでのセッションの使用

保存したセッションを E2E テストで読み込み、ログインなしで保護されたルートにアクセスします。以下の例は Playwright を使用していますが、クッキーのインジェクションをサポートする任意のテストライブラリ(Cypress など)に適用できます。

TypeScript
playwright.config.ts

参考リンク

GitHub で編集
最終更新日:--