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