Batch Class:
global class BatchAccount implements Database.Batchable<sObject> { global Database.QueryLocator start(Database.BatchableContext BC) { return Database.getQueryLocator('SELECT Id,Name FROM Account'); } global void execute(Database.BatchableContext BC, List<Account> scope) { for(Account a : scope) { a.Name = a.Name + ' Updated'; } update scope; } global void finish(Database.BatchableContext BC) { } }
Test Class:
@isTest public class BatchAccountTest { static testMethod void test() { List<Account> accList = new List<Account>(); for(Integer i = 0 ; i < 200; i++) { Account acc = new Account(); acc.Name = 'Name' + i; accList.add(acc); } Insert accList; Test.startTest(); BatchAccount obj = new BatchAccount(); DataBase.executeBatch(obj); Test.stopTest(); //Verify accounts updated List<Account> accUpdatedList = [SELECT Id, Name FROM Account]; System.assert(accUpdatedList[0].Name.Contains('Updated')); } }