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

SOSL クエリの単体テストへの追加

テストメソッドが必ず予測されたとおりに動作するように、Apex テストメソッドに追加される Salesforce オブジェクト検索言語 (SOSL) クエリは、テストメソッドが実行された場合に検索結果の空のセットを返します。クエリが結果の空のリストを返さないようにする場合は、Test.setFixedSearchResults システムメソッドを使用して、検索で返されるレコード ID のリストを定義できます。テストメソッドの後半で実行される SOSL クエリは、Test.setFixedSearchResults メソッドで指定されたレコード ID のリストを返します。また、テストメソッドは Test.setFixedSearchResults を複数回コールして、さまざまな SOSL クエリのさまざまな結果セットを定義できます。テストメソッドで Test.setFixedSearchResults メソッドをコールしない場合、またはレコード ID のリストを指定しないでこのメソッドをコールする場合、テストメソッドの後半で実行される SOSL クエリは、結果の空のリストを返します。

Test.setFixedSearchResults メソッドで指定されたレコード ID のリストは、WHERE 句または LIMIT 句が適用されない場合に通常 SOSL クエリで返される結果を置き換えます。これらの句が SOSL クエリに��在する場合は、固定された検索結果のリストに適用されます。次に例を示します。

Salesforce でのファイルとメモのインデックス付けおよび検索方法との一貫性を維持するために、ContentDocument (ファイル) または ContentNote (メモ) エンティティの SOSL クエリでは、setFixedSearchResults と共に ContentVersion ID を使用する必要があります。

メモ

ID が 001x0000003G89h である取引先レコードが FIND 句のクエリ文字列 ('test') に一致しない場合がありますが、レコードは SOSL ステートメントの RETURNING 句に渡されます。ID が 001x0000003G89h のレコードが WHERE 句の検索条件に一致する場合、レコードが返されます。WHERE 句に一致しない場合、レコードは返されません。