私は apex を初めて使用し、毎日実行される apex スケジュール クラスを構築しようとしています。コミッションのアカウント審査日が 2 週間 (14 日) 先の場合、スケジューラーは当社の営業部門に電子メールを送信します。
スケジュール可能なインターフェイスを実装するクラスを作成しました。現在、コードが機能することを確認するためにテストしています。テスト メソッドを作成しましたが、うまくいくかどうかわかりません。次のエラー メールが届きました。
サンドボックス
原因: System.EmailException: SendEmail が失敗しました。行 0 の最初の例外。最初のエラー: INVALID_SAVE_AS_ACTIVITY_FLAG。ユーザーにメールを送信するときは、saveAsActivity を false にする必要があります。: []
Class.AccountReviewSchedulerOtherObjectIDETest.sen dEmail: 行 15、列 1
Class.AccountReviewSchedulerOtherObjectIDETest.execute: 行 5、列 1
テスト メソッドがないと、スケジューラから応答がありません (エラー メールや送信しようとしているメールではありません。
これが私のApexスケジュールクラスです(テストメソッド付き)
global class AccountReviewSchedulerOtherObjectIDETest implements Schedulable{
global void execute (SchedulableContext ctx)
{
sendEmail();
}
public void sendEmail()
{
Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
mail.setTemplateId('00XF0000000LfE0');
mail.setTargetObjectId('005J0000000JWYx');
Messaging.sendEmail(new Messaging.SingleEmailMessage[] {mail });
}
public static testMethod void testschedule() {
Test.StartTest();
AccountReviewSchedulerOtherObjectID sh1 = new AccountReviewSchedulerOtherObjectID();
Test.stopTest();
}
}
このエラーはどういう意味ですか? 私のテストクラスは間違った方法で書かれていますか? 私のメール方法に問題がありますか?