メタデータのリリースのテスト
メタデータにアクセスする Apex コードを、適切にテストする必要があります。
メタデータのリリースを対象とする Apex テストを設けるには、リリース要求の設定とリリース結果の処理の両方を検証するテストを記述します。
リリース要求コードのテストでは、作成されたメタデータコンポーネントおよびコンポーネント値が検証され、リリースに必要なものが確実に DeployContainer に含まれるかどうかが明示されます。
リリース結果コードのテストでは、DeployCallback で予想どおりの結果および予想外の結果が処理されることが検証されます。DeployCallback は通常、非同期のリリースプロセスの一環で Salesforce にコールされます。したがって、リリースのプロセス外でコールバックをテストするために、コールバッククラスを直接使用するテストを作成します。また、テストの DeployResults および DeployCallbackContext インスタンスを作成して、DeployCallback.handleResults() メソッドもテストする必要があります。
DeployCallbackContext のテストインスタンスであるサブクラス DeployCallbackContext を作成中に、getCallbackJobId() を独自に実装します。
1// DeployCallbackContext subclass for testing that returns myJobId
2public class TestingDeployCallbackContext extends Metadata.DeployCallbackContext {
3 private myJobId = null; // define to a canned ID you can use for testing
4 public override Id getCallbackJobId() {
5 return myJobId;
6 }
7}