実際に Apex テストとフローテストを一緒に実行してみる
学習の目的
この単元を完了すると、次のことができるようになります。
- Test Discovery API を使用して、Apex テストと自動フローテストの統合ビューを表示する。
- Test Runner API を使用して、1 回の実行で Apex テストとフローテストを一緒に実行する。
- [Setup (設定)] で、Apex テストと自動フローテストを宣言的に実行して表示する。
テスト実行を統合する
別々の Apex テストとフローテストを追跡するには手間がかかることがあります。それを 1 か所ですべて表示できるようになりました。新しい Test Discovery API を使用すると、組織内のすべての Apex テストと自動フローテストを 1 つのビューで表示できます。次に、更新された Test Runner API を使用して両方の種類のテストを同時に実行します。
いずれの API も Tooling API REST リソースであるため、開発ワークフローに統合できます。宣言的に作業するほうが望ましい場合は、 [Setup (設定)] で、Apex テストとフローテストを実行できるようになりました。
実際に Apex テストとフローテストを一緒に実行してみる
新しい Test Discovery API を使用して、既存の Apex テストと自動フローテストの統合ビューを作成します。更新された Test Runner API を使用して、1 回の実行で Apex テストとフローテストを同じテスト実行で実行します。いずれの API も Tooling API REST リソースです。[Setup (設定)] で、Apex テストと自動フローテストの両方を宣言的に実行して検査することもできます。
管理パッケージのインストール
Challenge に合格するには、このモジュールの手順を実行する必要があります。そのためには Trailhead Playground に パッケージをインストールする必要があります。以下の手順に従って Playground を起動し、パッケージをインストールしてください。また、ハンズオン Challenge を実行するときにもこのパッケージと Playground を使用します。
Trailhead Playground を起動するために、このページの一番下までスクロールして [Launch (起動)] をクリックします。
組織に [パッケージのインストール] というタブが表示されている場合は、 次の手順に従ってください。
- [Install a Package (パッケージをインストールする)] タブをクリックします。
- 項目に
04tNS000000EQYvを貼り付けます。 - [Install (インストール)] をクリックします。
- [Install for Admins Only (管理者のみのインストール)] を選択し、[Install (インストール)] をクリックします。
[Install a Package (パッケージをインストールする)] タブが表示されない場合は、アプリケーションランチャーを開き、[Playground Starter] を見つけて手順に従います。Playground Starter アプリケーションが表示されない場合は、Salesforce ヘルプの「Trailhead の Challenge を完了するためのパッケージやアプリケーションのインストール」を参照してください。
パッケージのインストールが終了すると、確認ページが表示され、Playground に関連付けられているアドレスにメールが届きます。[Done (完了)] をクリックし、[Setup (設定)] に移動します。
レコードトリガーフローを作成する
まず、オブジェクトを選択し、エントリ条件を定義します。
- [Setup (設定)] から、[Flows (フロー)] を検索して選択します。
- [New Flow (新規フロー)] をクリックします。
- [Frequently Used (頻繁に使用)] の下にある [Record-Triggered Flow (レコードトリガーフロー)] を選択します。[Record-Triggered Flow (レコードトリガーフロー)] が表示されない場合は、右上の検索バーで検索します。
- [Object (オブジェクト)] で [Account (取引先)] を選択します。
- [Trigger the Flow When (フローをトリガーする条件)] で [A record is created or updated (レコードが作成または更新された)] を選択します。
- [Set Entry Conditions (エントリ条件を設定)] の [Condition Requirements (条件の要件)] は [None (なし)] が選択されたままにします。
- 条件を定義します。
- Optimize Flow (フローを最適化): Actions and Related Records (アクションと関連レコード)
- Add Asynchronous Path (非同期パスを追加): オフ
- Optimize Flow (フローを最適化): Actions and Related Records (アクションと関連レコード)
要素を追加する
レコードをトリガーする要素を追加します。
- [Add Element (要素を追加)] アイコンをクリックし、[Update Triggering Record (トリガーレコードを更新)] を選択します。
- 次の項目を更新します。
- Label (表示ラベル):
Update Description(説明を更新) - API Name (API 参照名):
Update_Description - How to Find Records to Update and Set Their Values (更新するレコードを検索してその値を設定する方法): Use the account record that triggered the flow (フローをトリガーした取引先レコードを使用)
- Set Filter Conditions (検索条件を設定): None - Always Update Record (なし - 常にレコードを更新)
- Label (表示ラベル):
取引先レコードの項目値を設定する
次に、[Field (項目)] 列に値を追加します。
- [Field (項目)] 列で [Account Description (取引先 説明)] を選択します。
- [Value (値)] 列で [New Resource (新規リソース)] をクリックします。ポップアップダイアログボックスが開きます。
- [Resource Type (リソース種別)] で [Text Template (テキストテンプレート)] を選択します。
- API Name (API 参照名):
Default_Description - [Body (本文)] セクションで [View as Plain Text (プレーンテキストとして表示)] を選択します。
- 次のテキストをテキストエディターに貼り付けます:
This is a default description.(これはデフォルトの説明です。) - [Done (完了)] をクリックします。
- [Resource Type (リソース種別)] で [Text Template (テキストテンプレート)] を選択します。
- [Value (値)] 列に [Default_Description] が表示されていることを確認します。
- [Save (保存)] をクリックし、次の詳細を設定します。
- Flow Label (フローの表示ラベル):
Account Update(取引先の更新) - Flow API Name (フローの API 参照名):
Account_Updateが自動的に入力されます。 - [Description (説明)] は空白のままにします。
- Flow Label (フローの表示ラベル):
- [Save (保存)] をクリックします。
- [Activate (有効化)] をクリックします。
フローのテストを設定する
テストする前にテストパラメーターを設定します。
- [View Tests (テストを表示)] をクリックします。
- [Create (作成)] をクリックします。
- [Set Test Details, Trigger, and Path (テストの詳細、トリガー、パスを設定)] で次の情報を入力します。
- Label (表示ラベル):
Test Account Update Description(取引先更新の説明をテスト) - API Name (API 参照名):
Account_Update_Test_Account_Update_Descriptionが自動的に入力されます。 - [Description (説明)] は空白のままにします。
- Run the Test When a Record is (レコードが次の場合にテストを実行): Created (作成済み)
- Label (表示ラベル):
- [Set Initial Triggering Record (最初のトリガーレコードを設定)] タブをクリックします。
- [Account Name (取引先名)] 項目 (この項目を表示するにはスクロールダウンする必要があります) に
Account with Flow(フローがある取引先) と入力します。
- [Account Name (取引先名)] 項目 (この項目を表示するにはスクロールダウンする必要があります) に
- [Set Assertions (アサーションを設定)] タブをクリックします。
Assertion 1 (アサーション 1) で次のように設定します。- Resources (リソース): Triggering Account -> Account Description (トリガー Account > 取引先 説明)
- Operator (演算子): Is Null (null)
- Value (値): False
- Resources (リソース): Triggering Account -> Account Description (トリガー Account > 取引先 説明)
- [Save (保存)] をクリックします。
テストを実行して検証する
これでテストを実行して検証する準備ができました。
- ページの右上隅にある [Setup (設定)] に移動し、[Developer Console (開発者コンソール)] を選択します。
- [Debug (デバッグ)] をクリックし、[Open Execute Anonymous Window (実行匿名ウィンドウを開く)] を選択します。
- ウィンドウに次のコマンドを貼り付けます:
RunTestsUsingToolingAPI.runAsynchronousTestsWithToolingAPI(); - [Execute (実行)] をクリックします。
- [Setup (設定)] に移動します。
- [Quick Find (クイック検索)] ボックスで [Application Test Execution (アプリケーションテスト実行)] を検索して選択します。
- テストする Apex テストとフローテストを選択し、[Run (実行)] をクリックします。
- テスト実行結果を確認するには、[View Test History (テスト履歴を表示)] リンクをクリックします。
お疲れさまでした。これで、Apex テストとフローテストを一緒に実行する方法を理解できました。
上記のすべての手順を実行した場合は、[Check Challenge to Earn 500 Points (Challenge を確認して 500 ポイントを獲得)] をクリックできます。
