Skip to content

Instantly share code, notes, and snippets.

@tyoshikawa1106
Created January 12, 2016 13:48
Show Gist options
  • Save tyoshikawa1106/162c07053c37d5313fc2 to your computer and use it in GitHub Desktop.
Save tyoshikawa1106/162c07053c37d5313fc2 to your computer and use it in GitHub Desktop.
Apex Test.loadData サンプル
@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