この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

Newer Version Available

This content describes an older version of this product. View Latest

ConnectApi コードのテスト

すべての Apex コードと同様に、Chatter in Apex コードにはテストカバー率が必要です。

Chatter in Apex メソッドはシステムモードでは実行されず、現在のユーザ (コンテキストユーザとも呼ばれる) のコンテキストで実行されます。メソッドは、現在のユーザがアクセス権を持つものすべてにアクセスできます。Chatter in Apex は、runAs システムメソッドをサポートしていません。

大部分の Chatter in Apex メソッドコールには、実際の組織データへのアクセス権が必要であり、@IsTest(SeeAllData=true) のマークが付けられたテストメソッドで使用されなければ失敗します。

ただし、getFeedItemsFromFeed などの一部の Chatter in Apex メソッドでは、テストで組織データにアクセスすることはできません。出力をテストコンテキストで返すように登録する特別なテストメソッドとともに使用する必要があります。テストメソッド名は、通常のメソッド名の先頭に setTest プレフィックスが付けられ��す。テストメソッドには、通常のメソッドのすべての署名と一致する署名 (引数の組み合わせ) があります。通常のメソッドに 3 つのオーバーロードがある場合、テストメソッドには 3 つのオーバーロードがあります。メソッドが setTest メソッドを必要とする場合、要件はそのメソッドの「Usage」セクションに記述されています。

Chatter in Apex テストメソッドの使用方法は、Apex での Web サービスのテスト方法と類似しています。まず、メソッドで返すデータを作成します。データを作成するには、出力オブジェクトを作成し、それらのプロパティを設定します。すべての非抽象出力クラスに非引数コンストラクタを使用して、オブジェクトを作成できます。

データを作成したら、テストメソッドをコールして、データを登録します。テストする通常のメソッドと同じ署名を持つテストメソッドをコールします。

テストデータを登録したら、通常のメソッドを実行します。通常のメソッドを実行すると、一致する引数に登録された値が返されます。

テストメソッドの署名には、通常のメソッドの署名と一致するものを使用する必要があります。通常のメソッドをコールするときに、一致する引数セットを使用してデータが登録されていなかった場合、例外を受け取ります。

重要

次の例は、ConnectApi.FeedItemPage を構成し、特定の組み合わせのパラメータを指定して getFeedItemsFromFeed がコールされたときにそれが返されるように登録するテストを示しています。