テストデータの読み込み
Test.loadData メソッドを使用すると、多くのコード行を記述する必要なく、テストメソッドにデータを入力できます。
次の手順に従います。
- .csv ファイルにデータを追加します。
- このファイル用の静的リソースを作成します。
- テストメソッド内で Test.loadData をコールし、sObject 型のトークンと静的リソース名を渡します。
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 をコールしてテストレコードを挿入する手順は、次のとおりです。
- テストレコードのデータを含む .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 - .csv ファイル用の静的リソースを作成します。
- [設定] から、[クイック検索] ボックスに「静的リソース」と入力し、[静的リソース] を選択します。
- [新規] をクリックします。
- 静的リソースに testAccounts という名前を付けます。
- 作成したファイルを選択します。
- [保存] をクリックします
- テストメソッドで 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}