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

テストデータの読み込み

Test.loadData メソッドを使用すると、多くのコード行を記述する必要なく、テストメソッドにデータを入力できます。
次の手順に従います。
  1. .csv ファイルにデータを追加します。
  2. このファイル用の静的リソースを作成します。
  3. テストメソッド内で Test.loadData をコールし、sObject 型のトークンと静的リソース名を渡します。
たとえば、取引先レコードおよび myResource という静的リソースを使用する場合は、次のコールを実行します。
1List<sObject> ls = Test.loadData(Account.sObjectType, 'myResource');

Test.loadData メソッドは、挿入された各レコードに対応する sObject のリストを返します。

このメソッドをコールする前に静的リソースを作成する必要があります。静的リソースは、拡張子が .csv のカンマ区切りファイルです。このファイルにはテストレコードの項目名と値が含まれます。ファイルの最初の行に項目名を含め、2 行目以降に値を含める必要があります。静的リソースについての詳細は、Salesforce オンラインヘルプの「静的リソースの定義」を参照してください。

.csv ファイルの静的リソースを作成したら、その静的リソースに MIME タイプが割り当てられます。次の MIME タイプがサポートされています。
  • text/csv
  • application/vnd.ms-excel
  • application/octet-stream
  • text/plain

Test.loadData の例

サンプル .csv ファイルと静的リソースを作成し、Test.loadData をコールしてテストレコードを挿入する手順は、次のとおりです。
  1. テストレコードのデータを含む .csv ファイルを作成します。このサンプル .csv ファイルには 3 つの取引先レコードが含まれています。このサンプルの内容を使用して .csv ファイルを作成できます。
    1Name,Website,Phone,BillingStreet,BillingCity,BillingState,BillingPostalCode,BillingCountry
    2sForceTest1,http://www.sforcetest1.com,(415) 901-7000,The Landmark @ One Market,San Francisco,CA,94105,US
    3sForceTest2,http://www.sforcetest2.com,(415) 901-7000,The Landmark @ One Market Suite 300,San Francisco,CA,94105,US
    4sForceTest3,http://www.sforcetest3.com,(415) 901-7000,1 Market St,San Francisco,CA,94105,US
  2. .csv ファイル用の静的リソースを作成します。
    1. [設定] から、[クイック検索] ボックスに「静的リソース」と入力し、[静的リソース] を選択します。
    2. [新規] をクリックします。
    3. 静的リソースに testAccounts という名前を付けます。
    4. 作成したファイルを選択します。
    5. [保存] をクリックします。
  3. テストメソッドで Test.loadData をコールしてテスト取引先を入力します。
    1@isTest 
    2private class DataUtil {
    3    static testmethod void testLoadData() {
    4        // Load the test accounts from the static resource
    5        List<sObject> ls = Test.loadData(Account.sObjectType, 'testAccounts');
    6        // Verify that all 3 test accounts were created
    7        System.assert(ls.size() == 3);
    8
    9        // Get first test account
    10        Account a1 = (Account)ls[0];
    11        String acctName = a1.Name;
    12        System.debug(acctName);
    13
    14        // Perform some testing using the test records
    15    }
    16}