Salesforce support following way to execute a test class inside Salesforce
-
The Salesforce user interface
-
The Force.com IDE
-
The Force.com Developer Console
-
The API
But apart from that we can run a test class in Salesforce from apex using ApexTestQueueItem (in beta release) which will submit your test class for test execution asynchronously.
ApexClass[] testClasses = [SELECT Id FROM ApexClass WHERE Name LIKE '%Test%'];
if(testClasses.size() > 0) {
ApexTestQueueItem[] queueItems = new List<ApexTestQueueItem>();
for (ApexClass cls : testClasses) {
queueItems.add(new ApexTestQueueItem(ApexClassId=cls.Id));
}
//it will submit them for execution
insert queueItems;
// Get the job ID of the first queue item returned.
ApexTestQueueItem item =
[SELECT ParentJobId FROM ApexTestQueueItem
WHERE Id=:queueItems[0].Id LIMIT 1];
system.debug('**************************' + item.parentjobid);
}
Comments