【Salesforce】テストクラスでレコードの作成日を変更する
SalesforceのApexでは、レコードの作成日を変更することができません。
当然のことではあるのですが、作成日が変更できないとテストクラスで日付指定の処理を確認する際には困りますよね。
そのようなときのために、テストクラスの中ではレコードの作成日を変更することができます。
TestクラスのsetCreatedDateというメソッドですね。
取引先を作成した後、作成日を1ヶ月前に変更しています。
/**
* テストを実行する
*/
private static testMethod void testMethod() {
// 取引先を作成する
Account acc = new Account();
acc.Name = 'test';
insert acc;
// 作成日を変更する
Test.setCreatedDate(acc.Id, Datetime.now().addMonths(-1));
Test.startTest();
// テスト処理
Test.stopTest();
// 確認処理
}
上のURLにもありますが、「@isTest(SeeAllData=true) 」が設定されている場合は使用することができません。
No comments.