我是apex的新手,正在尝试构建一个每天运行的apex时间表类。如果离佣金的账户审查日期还有两周(14天),计划员将向我们的销售部门发送电子邮件。
我有一个实现可调度接口的类。我目前正在测试以确保我的代码能够正常工作。我已经创建了一个测试方法,但我不确定它是否有效。我收到了这个错误电子邮件:
沙盒
由以下原因引起:System.EmailException:SendEmail失败。第0行的第一个异常;第一个错误:INVALID_SAVE_AS_AS_ACTIVITY_FLAG,向用户发送邮件时saveAsActivity必须为false。:[]
类别.AccountReviewSchedulerOtherObjectIDETest.send电子邮件:第1列第15行
Class.AccountReviewSchedulerOtherObjectIDETest.exe可爱:第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();
}
}
这个错误是什么意思?我的测试课写错了吗?我的电子邮件方式有问题吗?
在调用Messaging.sendEmail().之前添加mail.setSaveAsActivity(false);