レコードの作成日はレコードを作成した際に自動で設定され、値を変更することはできません。
しかし、テストクラスで作成したレコードであれば作成日を任意の値に変更することができます。
テスト実施の際に便利なのでぜひ覚えておこうと思います。
目次
setCreatedDateメソッドを利用
テストクラス内で作成したレコードの作成日を変更する際は、
setCreatedDate(recordId, createdDatetime)メソッド
を使用します。
以下のサンプルコードの7行目で.setCreatedDate()を使用し、作成した取引先レコードに作成日を設定しています。
第1引数に作成日を設定したいレコードのId、第2引数にDateTime型で日付を設定します。
@isTest
public class SampleTest {
@isTest
static void sample_test() {
Account acc = new Account(name='Account01');
insert acc;
Test.setCreatedDate(acc.Id, DateTime.newInstance(2023,12,12));
Test.startTest();
//test
Test.stopTest();
}
}
このようにテストクラスでは、テストクラス内で作成したレコードに作成日を任意で設定することができます。
作成日を使用するテストを実施したり、レコード取得の際に順序付けて取得できるので便利ですね。
コメント