スケジュール可能なクラスのテストの追加
前提条件:
スケジュール可能なクラスを追加したため、クラスがテスト対象であることを確認するテストメソッドを追加できます。このレッスンでは 1 つのテストメソッドが含まれるテストクラスを追加します。そのテストメソッドが System.Schedule をコールしてクラスをスケジュールします。
テストは開発者コンソールから実行できますが、ここでは [Apex クラス] ページにリストされているクラスからテストを実行します。次のステップで、この同じページからクラスをスケジュールします。
- [設定] から、[クイック検索] ボックスに「Apex」と入力し、[Apex クラス] を選択してから、[新規] をクリックします。
-
コードエディタボックスで、次のテストクラスを追加します。
- [Save (保存)] をクリックします。
- [Run Test (テストを実行)] をクリックしてテストメソッドを実行します。
もうひとこと...
- このテストメソッドは、System.schedule メソッドをコールして MySchedulableClass クラスをスケジュールします。System.Schedule メソッドは、ジョブの名前、ジョブの実行予定日時を表すために使用する式、クラスの名前という 3 つの引数を取ります。System.schedule メソッドでは、すべてのスケジュールの基準としてユーザのタイムゾーンが使用されます。
- System.schedule へのコールは Test.startTest と Test.stopTest ブロック内に含まれます。これにより、cron 式で指定されたスケジュールに関係なく、ジョブは Test.stopTest コールの後に実行されます。Test.startTest および Test.stopTest で囲まれたブロックに含まれる非同期コードは Test.stopTest の後に同期して実行されます。
- 最後に、テストメソッドは、スケジュール済みクラスによって新しい商品品目が追加されたことを確認します。