レポートのテスト
すべての Apex コードと同様に、Salesforce Reports and Dashboards API via Apex コードにはテストカバー率が必要です。
Reporting Apex メソッドはシステムモードでは実行されず、現在のユーザ (コンテキストユーザまたはログインユーザとも呼ばれる) のコンテキストで実行されます。メソッドは、現在のユーザがアクセス権を持つものすべてにアクセスできます。
Apex テストの場合、SeeAllData アノテーションは、true と false のどちらに設定されていても、レポートの実行で必ず無視されます。つまり、レポート結果には、テストで作成されていない既存のデータが含まれます。レポート実行で SeeAllData アノテーションを無効にする方法はありません。結果を制限するには、レポートで検索条件を使用します。
レポートのテストクラスの作成
次の例では、非同期および同期レポートをテストします。各メソッドでは、次の処理を行います。
- 新しい Opportunity オブジェクトを作成し、そのオブジェクトを使用してレポートに検索条件を設定する。
- レポートを実行する。
- アサーションをコールしてデータを検証する。