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

テストデータの読み込み

Test.loadData メソッドを使用すると、多くのコード行を記述する必要なく、テストメソッドにデータを入力できます。

単に、.csv ファイルにデータを追加し、このファイルの静的リソースを作成して、sObject 型のトークンと静的リソース名をこのファイルに渡すことによりテストメソッド内で Test.loadData をコールするだけです。たとえば、取引先レコードおよび 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. 静的リソースに testAccounts という名前を付けます。
    3. 作成したファイルを選択します。
    4. [保存] をクリックします。
  3. テストメソッドで Test.loadData をコールしてテスト取引先を入力します。
    1swfobject.registerObject("clippy.codeblock-2", "9");@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}