function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
RAMANJINEYULU GOGULARAMANJINEYULU GOGULA 

Test class for Schedulable Batch class

Class::

global class Rfleet_C2GFRScheduledBatchable_SCH implements Schedulable{
  
    global void execute(SchedulableContext sc) {
    
    //added by murugan
     //If the model, the version already exists in the R-FLEET product object but isn’t present in C2G return then the ‘Active’ checkbox on Product object isn’t ticked anymore
       list<Product2>updateActive=new list<Product2>(); 
       list<Product2> lsprodinactive=[Select IsActive from Product2 where CountryCode__c='FR'];
           for(Product2 prod:lsprodinactive){
              if(prod.IsActive==true){
                  prod.IsActive=false;
                  updateActive.add(prod);
              }
           }
            update updateActive;
    
         Rfleet_C2GProductDetails_BATCH frBatch = new Rfleet_C2GProductDetails_BATCH(label.Rfleet_FranceLabel.touppercase());   
         ID batchprocessid = Database.executeBatch(frBatch ,1);           
    }
}


Test Class:

@isTest
public class Rfleet_C2GDEScheduledBatchable_SCH_TEST {
    @isTest static void c2GDEScheduleTest(){
        Product2 p2=new Product2();
        p2.Name='TEST';
        p2.IsActive=TRUE;
        p2.CountryCode__c='DE';
        insert p2;
        
        test.startTest();
        Rfleet_C2GDEScheduledBatchable_SCH rcs=new Rfleet_C2GDEScheduledBatchable_SCH();
        Rfleet_C2GProductDetails_BATCH deBatch = new Rfleet_C2GProductDetails_BATCH(label.Rfleet_germanyCountryCode.touppercase());   
        String schedule='0 0 * * * ?';
        System.schedule('TEST C2GDE', schedule, rcs);
        //stem.scheduleBatch('deBatch','TEST C2GDE', 0,1);
        test.stopTest();
    }
}

Here everything is covering except "  ID batchprocessid = Database.executeBatch(frBatch ,1);  "

Can any1 answer it ?
Rahul KumarRahul Kumar (Salesforce Developers) 
Hi RAMANJINEYULU GOGULA,

Do You got a chance to check the Test generator app from App Exchange please check the below link
Thanks
Rahul Kumar
Amit Chaudhary 8Amit Chaudhary 8
Please check below post to see how to create test class for scheduler
1) https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_scheduler.htm
@isTest
public class Rfleet_C2GDEScheduledBatchable_SCH_TEST {
    @isTest 
	static void c2GDEScheduleTest()
	{
        Product2 p2=new Product2();
        p2.Name='TEST';
        p2.IsActive=TRUE;
        p2.CountryCode__c='FR';
        insert p2;

        
        test.startTest();
		
			String CRON_EXP = '0 0 0 3 9 ? 2022';
			String jobId = System.schedule('testBasicScheduledApex', CRON_EXP, new Rfleet_C2GDEScheduledBatchable_SCH());
			CronTrigger ct = [SELECT Id, CronExpression, TimesTriggered,NextFireTime FROM CronTrigger WHERE id = :jobId];
			System.assertEquals(TestScheduledApexFromTestMethod.CRON_EXP, ct.CronExpression);

		
        test.stopTest();
    }
}