【Salesforce】テストクラスでレコードの作成日を変更する

【Salesforce】テストクラスでレコードの作成日を変更する

SalesforceのApexでは、レコードの作成日を変更することができません。

当然のことではあるのですが、作成日が変更できないとテストクラスで日付指定の処理を確認する際には困りますよね。

そのようなときのために、テストクラスの中ではレコードの作成日を変更することができます。

TestクラスのsetCreatedDateというメソッドですね。

https://developer.salesforce.com/docs/atlas.ja-jp.204.0.apexcode.meta/apexcode/apex_methods_system_test.htm

取引先を作成した後、作成日を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.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です