Created
January 12, 2016 13:48
-
-
Save tyoshikawa1106/162c07053c37d5313fc2 to your computer and use it in GitHub Desktop.
Apex Test.loadData サンプル
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@isTest | |
private class TestLoadDataSampleTest { | |
private static User testAdminUser = new User(Id = UserInfo.getUserId()); | |
/** | |
* Check Account Test Data | |
*/ | |
static testMethod void checkTestLoadAccounts() { | |
System.runAs(testAdminUser) { | |
Test.startTest(); | |
// Test.loadDataでテストデータの読み込み | |
List<sObject> accountList = Test.loadData(Account.sObjectType, 'TestLoadAccounts'); | |
System.assertEquals(accountList.size(), 5); | |
// Test.loadDataの結果取得 | |
List<Account> accounts = [SELECT Id,Name,AccountNumber FROM Account ORDER BY Name ASC LIMIT 10]; | |
System.assertEquals(accounts.size(), 5); | |
Test.stopTest(); | |
// 正しく読み込めているかチェック | |
System.assertEquals(accounts[0].Name, 'sforce_001'); | |
System.assertEquals(accounts[0].AccountNumber, 'A1'); | |
System.assertEquals(accounts[1].Name, 'sforce_002'); | |
System.assertEquals(accounts[1].AccountNumber, 'A2'); | |
System.assertEquals(accounts[2].Name, 'sforce_003'); | |
System.assertEquals(accounts[2].AccountNumber, 'A3'); | |
System.assertEquals(accounts[3].Name, 'sforce_004'); | |
System.assertEquals(accounts[3].AccountNumber, 'A4'); | |
System.assertEquals(accounts[4].Name, 'sforce_005'); | |
System.assertEquals(accounts[4].AccountNumber, 'A5'); | |
} | |
} | |
/** | |
* Check Contact Test Data | |
*/ | |
static testMethod void checkTestLoadContacts() { | |
System.runAs(testAdminUser) { | |
Test.startTest(); | |
// Test.loadDataでテストデータの読み込み(Account) | |
List<sObject> accountList = Test.loadData(Account.sObjectType, 'TestLoadAccounts'); | |
System.assertEquals(accountList.size(), 5); | |
// Test.loadDataでテストデータの読み込み(Contact) | |
List<sObject> contactList = Test.loadData(Contact.sObjectType, 'TestLoadContacts'); | |
System.assertEquals(contactList.size(), 6); | |
// Test.loadDataの結果取得 | |
List<Contact> contacts = [SELECT Id,LastName,AccountId FROM Contact ORDER BY LastName ASC LIMIT 10]; | |
System.assertEquals(contacts.size(), 6); | |
Test.stopTest(); | |
// 正しく読み込めているかチェック | |
System.assertEquals(contacts[0].LastName, 'AAA'); | |
System.assertEquals(contacts[1].LastName, 'BBB'); | |
System.assertEquals(contacts[2].LastName, 'CCC'); | |
System.assertEquals(contacts[3].LastName, 'DDD'); | |
System.assertEquals(contacts[4].LastName, 'EEE'); | |
System.assertEquals(contacts[5].LastName, 'FFF'); | |
} | |
} | |
/** | |
* Check Relation | |
*/ | |
static testMethod void checkTestLoadRelation() { | |
System.runAs(testAdminUser) { | |
Test.startTest(); | |
// Test.loadDataでテストデータの読み込み(Account) | |
List<sObject> accountList = Test.loadData(Account.sObjectType, 'TestLoadAccounts'); | |
System.assertEquals(accountList.size(), 5); | |
// Test.loadDataでテストデータの読み込み(Contact) | |
List<sObject> contactList = Test.loadData(Contact.sObjectType, 'TestLoadContacts'); | |
System.assertEquals(contactList.size(), 6); | |
// Test.loadDataの結果取得 | |
List<Account> accounts = [SELECT Id,Name,(SELECT LastName FROM Contacts ORDER BY LastName ASC) FROM Account ORDER BY Name ASC LIMIT 10]; | |
System.assertEquals(accounts.size(), 5); | |
Test.stopTest(); | |
// 正しく読み込めているかチェック[1件目] | |
System.assertEquals(accounts[0].Name, 'sforce_001'); | |
System.assertEquals(accounts[0].Contacts.size(), 2); | |
System.assertEquals(accounts[0].Contacts[0].LastName, 'AAA'); | |
System.assertEquals(accounts[0].Contacts[1].LastName, 'BBB'); | |
// 正しく読み込めているかチェック[2件目] | |
System.assertEquals(accounts[1].Name, 'sforce_002'); | |
System.assertEquals(accounts[1].Contacts.size(), 1); | |
System.assertEquals(accounts[1].Contacts[0].LastName, 'CCC'); | |
// 正しく読み込めているかチェック[3件目] | |
System.assertEquals(accounts[2].Name, 'sforce_003'); | |
System.assertEquals(accounts[2].Contacts.size(), 1); | |
System.assertEquals(accounts[2].Contacts[0].LastName, 'DDD'); | |
// 正しく読み込めているかチェック[4件目] | |
System.assertEquals(accounts[3].Name, 'sforce_004'); | |
System.assertEquals(accounts[3].Contacts.size(), 1); | |
System.assertEquals(accounts[3].Contacts[0].LastName, 'EEE'); | |
// 正しく読み込めているかチェック[5件目] | |
System.assertEquals(accounts[4].Name, 'sforce_005'); | |
System.assertEquals(accounts[4].Contacts.size(), 1); | |
System.assertEquals(accounts[4].Contacts[0].LastName, 'FFF'); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment