> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Auth0 Actions をテストおよびデバッグする方法を学びます

# Actions をテスト

実装の進捗に応じて、Auth0 Actions をテストおよびデバッグするための方法がいくつかあります。

各 Action は、実装しながら <Tooltip tip="Auth0 のサービスを設定するためのメイン製品。" cta="用語集を表示" href="/ja/docs/glossary?term=Auth0+Dashboard">Auth0 Dashboard</Tooltip> から個別にテストすることをお勧めします。準備が整ったら、Auth0 Dashboard のテナントログを使用して、エンドツーエンドのフローが想定どおりに動作することを確認してください。

<div id="test-individual-actions">
  ## 個々のActionをテストする
</div>

個々のActionは、Actions Code Editor を使用してテストできます。エディターのテスト機能では、Action に関連付けられているフローに基づくサンプルペイロードを使用して、Action の呼び出しをシミュレートします。個々のActionをテストするには、次の手順を実行します。

1. [Auth0 Dashboard > Actions](https://manage.auth0.com/#/actions) に移動し、編集するフローとActionを選択します。
2. Actions Code Editor を開き、サイドバーから **Test** (再生アイコン) を選択します。Test サイドバーでペイロードを編集して、異なるペイロードでの結果を確認します。
3. **Run** を選択します。

テスト結果には、Action が実行したステップ、コンソール出力、発生したエラー、Action の実行に関する有用な統計情報が表示されます。

<Frame>
  <img src="https://mintcdn.com/translations/c0RQ9V0YAcT0-8l5/docs/images/cdy7uua7fh8z/7I4CRM8SmRFiibjuk55L86/794042f525cddd55a8005cc646b3c9c2/test-action-code-editor.png?fit=max&auto=format&n=c0RQ9V0YAcT0-8l5&q=85&s=4127ea180888640c25044fc5c03f83c1" alt="Action Code Editor 内のテストモジュールのスクリーンショット" width="894" height="473" data-path="docs/images/cdy7uua7fh8z/7I4CRM8SmRFiibjuk55L86/794042f525cddd55a8005cc646b3c9c2/test-action-code-editor.png" />
</Frame>

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Management API の [**Test an Action** エンドポイント](https://auth0.com/docs/api/management/v2#!/Actions/post_test_action)を使用して、Action に関連付けられているフローに対応するペイロードを指定し、Action をテストすることもできます。サンプルペイロードを取得するには、Actions Code Editor のテスト機能を使用して Action をテストしてください。
</Callout>

<div id="debug-deployed-actions">
  ## デプロイ済みの Actions をデバッグする
</div>

Action のテストが完了したら、次はそれをデプロイして実行状況を確認します。Action をすでにデプロイし、フローに追加している場合は (Actions をフローにアタッチする方法については、[Write Your First Action](/ja/docs/customize/actions/write-your-first-action) の「Attach the Action to a flow」セクションを参照してください) 、いくつかの手順で本番稼働中の Action をデバッグできます。

<div id="verify-end-to-end-login-flow">
  ### エンドツーエンドのログインフローを検証する
</div>

`post-login` Action の場合、テナントでログインを試行することで、エンドツーエンドのログインフローを検証できます。

1. [Auth0 Dashboard > Authentication > Authentication Profile](https://manage.auth0.com/#/authentication-profiles) に移動し、**Try** を選択します。サンプルログインを含むウィンドウが開きます。
2. ログインフローを進めます。ログインフローの中で、設定済みの Actions が実行されます。

完了すると、アプリケーションが受け取るユーザープロファイル属性の一覧が表示されたページ、または問題の内容を説明するエラーメッセージが表示されたページにリダイレクトされます。

<div id="analyze-tenant-logs">
  ### テナントログを分析する
</div>

フローに関連付けられた Action がバインドされているトリガーが実行されるたびに、[テナントログ](/ja/docs/deploy-monitor/logs/view-log-events)に Action の実行詳細が記録されます。

テナントログの一覧では、Actions に関連するログを確認し、それらを表示できます。以下の例では、`Success Login` のログタイプが、このテナントの `post-login` トリガー上の Action に関連付けられています。

<Frame>
  <img src="https://mintcdn.com/translations/pvjQqAy3EB2TK6NP/docs/images/cdy7uua7fh8z/4hIo2YJ8fr2tfMEWhaLyn4/7935eec2f5a59c0191cbf24eaccf044d/2025-01-31_14-30-57.png?fit=max&auto=format&n=pvjQqAy3EB2TK6NP&q=85&s=4d9043d4c0c4bf373ca0941cbca3197f" alt="Action の実行に関連するログを示す、Auth0 Dashboard のテナントログ一覧のスクリーンショット。" width="1529" height="758" data-path="docs/images/cdy7uua7fh8z/4hIo2YJ8fr2tfMEWhaLyn4/7935eec2f5a59c0191cbf24eaccf044d/2025-01-31_14-30-57.png" />
</Frame>

Actions に関連付けられるログタイプの例を以下に示します。

| 名前                      | トリガー                                                                                                                         |
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| Success Login           | [post-login](/ja/docs/customize/actions/explore-triggers/signup-and-login-triggers/login-trigger)                            |
| Failed Login            | [post-login](/ja/docs/customize/actions/explore-triggers/signup-and-login-triggers/login-trigger)                            |
| Success Exchange        | [post-login](/ja/docs/customize/actions/explore-triggers/signup-and-login-triggers/login-trigger)                            |
| Failed Exchange         | [post-login](/ja/docs/customize/actions/explore-triggers/signup-and-login-triggers/login-trigger)                            |
| Success Change Password | [post-change-password](/ja/docs/customize/actions/explore-triggers/password-reset-triggers/post-change-password-trigger)     |
| Failed Change Password  | [post-change-password](/ja/docs/customize/actions/explore-triggers/password-reset-triggers/post-change-password-trigger)     |
| Successful Signup       | [pre-user-registration](/ja/docs/customize/actions/explore-triggers/signup-and-login-triggers/pre-user-registration-trigger) |
| Failed Signup           | [pre-user-registration](/ja/docs/customize/actions/explore-triggers/signup-and-login-triggers/pre-user-registration-trigger) |
| Success Exchange        | [credentials-exchange](/ja/docs/customize/actions/explore-triggers/machine-to-machine-trigger)                               |
| Failed Exchange         | [credentials-exchange](/ja/docs/customize/actions/explore-triggers/machine-to-machine-trigger)                               |

Action の詳細な実行情報を表示するには、Action の実行に関連付けられたログを選択し、**Action Details** ビューを選択します。Action Details では、実行統計、コンソール出力、発生したエラーを確認できます。

<Frame>
  <img src="https://mintcdn.com/translations/eVsQcTnbClN-oB7d/docs/images/cdy7uua7fh8z/1WrsQvjZxI2WRMrtltandy/0bc92038a5bc7b6344a95ef271eff299/actions-log-detail.png?fit=max&auto=format&n=eVsQcTnbClN-oB7d&q=85&s=f5f466125ec65157dd222594d8ce53b0" alt="Actions のテストに関連する個別ログのスクリーンショット。" width="1042" height="794" data-path="docs/images/cdy7uua7fh8z/1WrsQvjZxI2WRMrtltandy/0bc92038a5bc7b6344a95ef271eff299/actions-log-detail.png" />
</Frame>

<div id="unit-test-actions">
  ## Actions の単体テスト
</div>

​Action 関数に渡される event と api をモックすることで、Auth0 Actions を単体テストできます。Actions はバージョン管理下またはローカルディレクトリで管理でき、Jest などのツールを使用して自動的にテストできます。次の例では、[Login / Post Login](/ja/docs/customize/actions/explore-triggers/signup-and-login-triggers/login-trigger) トリガーと [Jest](https://jestjs.io/) を使用して、モックとテストの方法を示します。

**Action のコード:**

```javascript lines theme={null}
// action.js

exports.onExecutePostLogin = async (event, api) => {
  const namespace = "https://my-app.example.com";
  if (event.authorization) {
    api.idToken.setCustomClaim(`${namespace}/favorite_color`, "pink");
  }
};
```

**テストファイルのコード:**

```javascript lines theme={null}
// action.spec.js

const { onExecutePostLogin } = require("./action.js");
test("sets favorite_color ID token claim to pink", async () => {
  const namespace = "https://my-app.example.com";
  const mockFunction = jest.fn();
  const mockApi = { idToken: { setCustomClaim: mockFunction } };
  const mockEvent = {authorization: {}};

  await onExecutePostLogin(mockEvent, mockApi);
  expect(mockFunction).toBeCalledWith(
    `${namespace}/favorite_color`,
    "pink"
  );
});
```

<div id="best-practices">
  ## ベストプラクティス
</div>

Auth0 で Actions を構築する際は、[環境ごとに専用の Auth0 テナントを作成する](/ja/docs/get-started/auth0-overview/create-tenants/set-up-multiple-environments)ことを推奨します。これにより、本番環境のユーザー基盤を他の環境から分離できるほか、環境ごとに異なる管理者を設定できます (たとえば、エンジニアには本番環境の設定へのアクセス権を付与しないようにできます) 。

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  CLI または CI/CD パイプラインを使用して Actions の管理、テスト、デプロイをすべて行う場合は、[Deploy CLI Tool](/ja/docs/deploy-monitor/deploy-cli-tool) を使用できます。
</Callout>
