リリースでのテストのサブセットの実行
テストレベルにより、リリースで実行するテストに対する制御が強化されます。本番組織へのリリース時間を短縮するには、Apex コンポーネントのリリース時にテストのサブセットを実行します。本番組織のデフォルトのテスト実行動作も変更されました。テストレベルが指定されていないときは、デフォルトで、リリースパッケージに Apex クラスまたはトリガが含まれる場合を除き、テストが実行されません。
リリースの Apex コンポーネントのコードカバー率が 75% 未満の場合は、リリースに失敗します。指定したテストのいずれかに失敗した場合も、リリースに失敗します。最初に Sandbox でリリースをテストし、指定したテストが各コンポーネントを十分にカバーすることを確認することをお勧めします。組織の全体的なコードカバー率が 75% 以上でも、Apex コンポーネントの個々のカバー率が 75% 未満のことがあります。コードカバー率の要件を満たしていない場合は、他のテストを記述してリリースに含めます。
テストのサブセットを実行するには、DeployOptions オブジェクトに RunSpecifiedTests テストレベルを設定します。次に、DeployOptions に実行する各テストクラスを指定します。最後に、DeployOptions を引数として deploy() コールに渡します。次の例は、これらの手順を実行して、指定したテストクラスのみを実行します。
特定のテストの実行に関する留意事項
- 指定できるのはテストクラスのみで、個々のテストメソッドは指定できません。
- コードカバー率の要件を満たす最小限のテストを含めるように、テストクラスを再構成することをお勧めします。テストクラスを再構成するとテストの実行時間が短縮され、結果的にリリース時間も短縮されます。
- 対象組織のトリガを無効化するには、トリガを無効な状態でリリースします。ただし、そのトリガは以前に有効な状態でリリースされたものである必要があります。