非同期コールアウトのテスト
コントローラをテストし、Apex のリリースまたはパッケージ化のコードカバー率要件を満たすためのテストを記述します。Apex テストはコールアウトの実行をサポートしていないため、コールアウトの要求と応答をシミュレーションできます。コールアウトをシミュレーション中に、要求が外部サービスに送信されることはなく、疑似応答が使用されます。
次の例は、HTTPRequest を使用する Web サービスコールのテストで擬似非同期コールアウトを呼び出す方法を示しています。継続でコールアウトをシミュレーションするには、Test クラスの Test.setContinuationResponse() メソッドと Test.invokeContinuationMethod() をコールします。
最初にテストするコントローラクラス、続いてテストクラスをリストします。「継続を使用した長時間コールアウトの実行」のコントローラクラスは、ここで再度使用されます。
次の例は、コントローラに対応するテストクラスを示しています。このテストクラスには、非同期コールアウトをテストするテストメソッドが含まれます。このテストメソッドで、Test.setContinuationResponse によって擬似応答が設定され、Test.invokeContinuationMethod によって継続のコールバックメソッドが実行されます。テストでは、コントローラの結果変数が予期される応答に設定されたことを検証し、コールバックメソッドで擬似応答が処理されたことを確認します。