Обновлено
Мой запрос в службу поддержки передан в "Старший отдел поддержки".Они сделали что-то с моей песочницей и посоветовали, что это известная проблема, и запускать тестовые примеры только для одного класса за раз через интерфейс класса Apex (например, https://xyz.salesforce.com/01pL00000000001).
Я должен , а не запускать тестовые примеры с помощью:
- пользовательского интерфейса выполнения теста Apex
- создание записей ApexTestQueueItem вручную
- классов Apex - [Run All Tests]
Я предполагаю, что Eclipse в настоящее время в порядке для отдельных тестовых случаев, поскольку он не асинхронный по своей природе.
Я бы хотел рассказать вам, что именно они сделали с моимпроблема с песочницей, но я не уверен на данный момент. Надеюсь, что параллельный вопрос на форуме developerforce даст несколько ответов - Использование Apex Test Execution приводит к «Администрации организации заблокирован», которая не очищается
Немного интересной информации из Твиттера:
"... работаю над этим весь день. Надеюсь, что исправление получится на следующей неделе." - Рич Унгер
"@ rich_unger приятно слышать, чемKS для обновления, любой краткосрочный обходной путь?если нет, я перенесу свой код в другую организацию до тех пор "- Майкл Галлахер." Обходной путь @ mjgallag24 - не использовать асинхронное тестирование "- Рич Унгер
Поэтому, чтобы ответить на мой собственный вопрос «Как я могу удалить эти 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;
Это не 'Кажется, что он не дает желаемого результата, так как в последующем запросе SOQL к ApexTestQueueItem столбец Status остается неизменным.
Я искал задание Apex в [Настройка администратора> Мониторинг> Задания Apex], но ни одна из записей, гдеJobType = TestRequest появился.
Затем я попытался прервать задание, используя анонимный апекс:
System.abortJob('707L0000000FgZIIA0');
AsyncApexJob изменил статус на «Aborted».