この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

テストコンテキストでのイベントおよびイベントバスプロパティ

テストコンテキストでは、イベントメッセージとイベントバスのプロパティは異なります。イベントと登録者の状態情報はリセットされ、保持されます。

テストイベントおよびテストイベントバス

Apex テストでイベントメッセージを公開すると、イベントメッセージは Salesforce イベントバスから独立したテストイベントバスに公開されます。Apex テストでは、イベントと登録者の状態情報は次のようにリセットされます。

  • イベントの再生 ID の値が 0 にリセットされ、1 (最初のテストイベントメッセージの) から開始されます。
  • EventBusSubscriber のイベント状態情報がリセットされます。最後に処理された再生 ID (EventBusSubscriber.Position) と最後に公開された再生 ID (EventBusSubscriber.Tip) が 0 にリセットされます。
  • テストイベントが公開されて登録者内で処理されると、イベント状態情報が更新されます。
  • 登録者状況が Running (EventBusSubscriber.Status) にリセットされます。
  • EventBusSubscriber を照会すると、イベント状態を取得できます。たとえば、次の SOQL クエリでは、Order_Event__e イベントへのすべてのトリガ登録者に関するいくつかの情報を取得します。
    1SELECT Name, Position, Retries, LastError 
    2FROM EventBusSubscriber 
    3WHERE Topic='Order_Event__e' AND Type='ApexTrigger'

Apex テストの実行が終了すると、イベントと登録者の状態情報は、テスト以外の値に戻ります。

また、イベント割り当てはテストイベントに適用されません。テストイベントには独自の公開制限があり、テストメソッドでのイベントメッセージの公開は 500 件に制限されます。

イベント登録者のテスト

Apex テストを使用して、プラットフォームイベントの公開と登録をテストします。Apex テストでイベントメッセージを公開すると、すべてのイベント登録者に通知され、次を含め、実行が開始されます。

  • Apex トリガ
  • プロセス (API バージョン 43.0 以降で保存された Apex テストクラスを使用する場合)
  • フロー (API バージョン 43.0 以降で保存された Apex テストクラスで使用する場合)