我使用Apex Test Execution屏幕在沙箱组织中运行所有测试用例.
几个测试用例通过然后进展似乎挂在一个以前工作的测试用例上.
然后我使用Abort按钮尝试取消似乎有效的测试执行.
现在,任何后续运行测试的尝试都不会超过Queued状态.

选择单个顶点类并使用同步"运行测试"按钮会导致以下错误消息:
组织管理已锁定
您请求的更改要求salesforce.com临时锁定组织的管理设置.但是,管理设置已被另一个更改锁定.请等待上一个操作完成,然后再重试.
尝试从Eclipse保存对Apex类的更改会产生错误:
- 保存错误:无法对所有文件执行保存:您请求的更改要求> salesforce.com临时锁定组织的管理设置.但是,管理设置已被另一个更改锁定.请等待>之前的操作完成,然后稍后再试.(ALREADY_IN_PROCESS)
如果我查询ApexTestQueueItem表,似乎有3个测试用例符合处理状态.

如何从处理状态清除这些ApexTestQueueItems?我假设这会让我超过组织管理锁定.
我确实检查了设置审计跟踪,最近的唯一更改是从我的用户到Apex Classes.
更新
我的支持案例已升级为"高级支持团队".他们对我的沙箱做了一些事情,并建议这是一个已知的问题,并且只能通过Apex类UI(例如https://xyz.salesforce.com/01pL00000000001)一次运行一个类的测试用例.
我应该不通过运行测试案例:
我假设Eclipse目前对单个测试用例没问题,因为它本质上不是异步的.
我希望能够告诉你他们对我的问题沙盒组织做了什么,但我现在还不确定.希望developerforce论坛上的一个平行问题会产生一些答案 - 使用Apex Test Execution导致"组织管理已锁定",但不清楚
来自Twitter的一些有趣信息:
"......整天都在努力.希望下周能解决这个问题." - Rich Unger
那么回答我自己的问题"如何从处理状态中清除这些ApexTestQueueItems?"
答:如果您遇到"已知问题",目前无法使用.唯一的选择是提出支持案例并等待Salesforce清除它.
我尝试了以下匿名顶点来清除处理队列中的顶点测试用例:
List<ApexTestQueueItem> items = [Select Id,ApexClassId,Status,ExtendedStatus,ParentJobId from ApexTestQueueItem where Status != 'Completed'];
for(ApexTestQueueItem atqi : items) {
atqi.Status = 'ABORTED';
}
update items;
Run Code Online (Sandbox Code Playgroud)
这似乎没有所需的结果,因为在ApexTestQueueItem的后续SOQL查询中,Status列保持不变.
我在[管理设置>监控> Apex作业]下查找了Apex作业,但没有出现JobType = TestRequest的记录.
接下来我尝试使用匿名顶点中止作业:
System.abortJob('707L0000000FgZIIA0');
Run Code Online (Sandbox Code Playgroud)
AsyncApexJob将状态更改为"已中止".
| 归档时间: |
|
| 查看次数: |
11124 次 |
| 最近记录: |