さて、今回はスケジューラークラスのテストクラスを作成についてです。
基本的な形としては、「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(スケジュール名, 実行タイミング(※クーロン式), 実行するスケジューラークラス);
クーロン式についてはこちらの記事に詳しく記載していますので、よければご覧ください。
【Apex】Apexバッチのスケジューリングをやってみた【Salesforce】
今回は「Apexバッチ処理のスケジューリング方法」についてです。 Apexバッチの実装方法などに関してはこちらの記事にまとめていますのでぜひどうぞ~ スケジューラーク…
コメント