列表上不允许 Apex DML 操作删除
Apex DML operation Delete not allowed on List
我正在编写 Apex 测试。
我收到一个编译错误 DML operation Delete not allowed on List
AsyncApexJob[] currentAsyncJobs = [SELECT Id FROM AsyncApexJob];
delete currentAsyncJobs;
我正在尝试删除所有 AsyncApexJobs,以便稍后在执行我正在测试的 class 后检查是否有正确数量的作业入队。 IE。
List<AsyncApexJob> asyncJobList = [SELECT Id FROM AsyncApexJob];
System.assertEquals(2, asyncJobList.size(), 'Two jobs should have been enqueued');
我不知道我做错了什么。这是 documentation
我正在与专家伙伴一起使用 atom 编辑器。
要删除作业,您必须调用 system.abortJob(jobId),我不相信您可以通过 DML 删除作业。 jobId 必须是
The jobId is the ID associated with either AsyncApexJob or CronTrigger
对于您的测试,您始终可以获得初始数字,然后检查它是否增加了您期望的数量,如果由于某种原因您无法停止作业,但如果您正在使用 Schedulable 安排作业,您应该只测试根据 https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_scheduler.htm
计划的 cron
我收到一个编译错误,指出列表上不允许删除 DML 操作
List<AsyncApexJob> asynclist = new List<AsyncApexJob>();
asynclist = [ Select id ,Status from AsyncApexJob where Status = 'Queued' or Status='holding'];
for ( AsyncApexJob aJob : asynclist)
{
System.AbortJob(aJob.Id);
}
delete asynclist;
我正在编写 Apex 测试。
我收到一个编译错误 DML operation Delete not allowed on List
AsyncApexJob[] currentAsyncJobs = [SELECT Id FROM AsyncApexJob];
delete currentAsyncJobs;
我正在尝试删除所有 AsyncApexJobs,以便稍后在执行我正在测试的 class 后检查是否有正确数量的作业入队。 IE。
List<AsyncApexJob> asyncJobList = [SELECT Id FROM AsyncApexJob];
System.assertEquals(2, asyncJobList.size(), 'Two jobs should have been enqueued');
我不知道我做错了什么。这是 documentation
我正在与专家伙伴一起使用 atom 编辑器。
要删除作业,您必须调用 system.abortJob(jobId),我不相信您可以通过 DML 删除作业。 jobId 必须是
The jobId is the ID associated with either AsyncApexJob or CronTrigger
对于您的测试,您始终可以获得初始数字,然后检查它是否增加了您期望的数量,如果由于某种原因您无法停止作业,但如果您正在使用 Schedulable 安排作业,您应该只测试根据 https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_scheduler.htm
计划的 cron我收到一个编译错误,指出列表上不允许删除 DML 操作
List<AsyncApexJob> asynclist = new List<AsyncApexJob>();
asynclist = [ Select id ,Status from AsyncApexJob where Status = 'Queued' or Status='holding'];
for ( AsyncApexJob aJob : asynclist)
{
System.AbortJob(aJob.Id);
}
delete asynclist;