Newer Version Available
ConnectApi コードのテスト
Connect in Apex メソッドはシステムモードでは実行されず、現在のユーザ (コンテキストユーザとも呼ばれる) のコンテキストで実行されます。メソッドは、コンテキストユーザがアクセス権を持つものすべてにアクセスできます。Connect in Apex は、runAs システムメソッドをサポートしていません。
大部分の Connect in Apex メソッドには、実際の組織データへのアクセス権が必要であり、@IsTest(SeeAllData=true) のマークが付けられたテストメソッドで使用されなければ失敗します。
ただし、getFeedElementsFromFeed などの一部の Connect in Apex メソッドでは、テストで組織データにアクセスすることが認められず、出力がテストコンテキストで返されるように登録する特別なテストメソッドと一緒に使用する必要があります。メソッドが setTest メソッドを必要とする場合は、要件がそのメソッドの「Usage」セクションに記述されます。
テストメソッド名は、通常のメソッド名の先頭に setTest プレフィックスが付けられます。テストメソッドの署名 (パラメータの組み合わせ) は、通常のメソッドの署名と一致します。たとえば、通常のメソッドに 3 つのオーバーロードがある場合、テストメソッドには 3 つのオーバーロードがあります。
Connect in Apex テストメソッドの使用方法は、Apex での Web サービスのテスト方法と類似しています。まず、メソッドで返すデータを作成します。データを作成するには、出力オブジェクトを作成し、それらのプロパティを設定します。すべての非抽象出力クラスに非引数コンストラクタを使用して、オブジェクトを作成できます。
データを作成したら、テストメソッドをコールして、データを登録します。テストする通常のメソッドと同じ署名を持つテストメソッドをコールします。
テストデータを登録したら、通常のメソッドを実行します。通常のメソッドを実行すると、登録済みデータが返されます。