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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | 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