MENU
Abo
某SIer勤務。
新卒文系からエンジニア就職。
日々の学びをつらつらと書いています。
保有資格:
Salesforce認定アドミニストレーター  
Salesforce認定Platformデベロッパー
Salesforce認定上級Platformデベロッパー
カテゴリー
アーカイブ

【Apex】スケジューラークラスのテストクラス

さて、今回はスケジューラークラスのテストクラスを作成についてです。

基本的な形としては、「test.startTest()」と「test.stopTest()」の間でスケジューラークラスを実行するという感じです。

いつも通りのApexのテストクラスと同じですね。

以下、サンプルコードになります。

@isTest
public class AccountBatchScheduleTest {
    
    @isTest static void test(){
        
        String cron = '0 15 * * * ?';
        
        test.startTest();
            system.Schedule('AccountBatchJob', cron, new AccountBatchSchedule());
        test.stopTest();
    }

}

上のコードでは、変数「cron」に時間を設定し、System.scheduleメソッドの引数として指定することでスケジューラークラスの実行タイミングを指定しています。

上の例では、「毎時30分に実行」という指定をしています。

ただ、〇時30分にならないとテストが実行されないかというと、そういうわけではなく、あくまで便宜的に設定しているだけで、testをrunすればすぐに実行されます。(てことで、設定は何時でも大丈夫です。)

System.scheduleメソッドの引数は、以下の通りです。

system.schedule(スケジュール名, 実行タイミング(※クーロン式), 実行するスケジューラークラス);

クーロン式についてはこちらの記事に詳しく記載していますので、よければご覧ください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

某SIer勤務。
新卒文系からエンジニア就職。
日々の学びをつらつらと書いています。
保有資格:Salesforce認定アドミニストレーター
     Salesforce認定Platformデベロッパー
     Salesforce認定上級Platformデベロッパー

コメント

コメントする

CAPTCHA


目次