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
Sandesh Vishwakarma 9Sandesh Vishwakarma 9 

Hello everyone , I have written test class for my batch class that includes a callout , But this particular portion is not getting into coverage

User-added image


I am getting 92% coverage , not 100%
Here is my Mockup callout :


@isTest
global class BatchCalloutMock implements HttpCalloutMock {
    global HTTPResponse respond(HTTPRequest req) {
        HttpResponse res = new HttpResponse();
        res.setHeader('Content-Type', 'application/json');
        res.setBody('test');
        res.setStatusCode(200);
        res.setStatus('Sucess'); 
        return res;
    }
}


Here is my test class :-

@isTest
public class BatchClassOrderPOTestClass {
    static testMethod void testbarchClass(){
        Account newAccountRecord = new Account();
        newAccountRecord.Name = 'Test Account Record';
        insert newAccountRecord;
        Order newOrderRecord = new Order();
        newOrderRecord.AccountId = newAccountRecord.Id;
        newOrderRecord.EffectiveDate = System.today();
        newOrderRecord.Status = 'Draft';
        // insert newAccountRecord;
        insert newOrderRecord;
        List<ID> idd = new List<ID>();
        idd.add(newOrderRecord.id);
        List<Order> recordsToSend = [select id from Order WHERE ID =: newOrderRecord.Id];
        
        Test.setMock(HttpCalloutMock.class, new BatchCalloutMock());
       // Test.startTest();
        BatchClassOrderPO obj = new BatchClassOrderPO(idd);
        
        //cPO newcPO = new cPO(recordsToSend);
        database.executeBatch(obj,25);
       // Test.stopTest();
    }
    
}
Ben HuriBen Huri
You do not need this !Test.isRunningTest() when you are setting a mock class.
The Http.send() will not create a callout when you are in test mode.
Instead, your mock response will return instead of a real HttpResponse.

Ben.