Is it possible to get some assistance on my code and test? It seems like literally every test I write is passing with zero code coverage org wide.. I've spent the past 2 days on and off reading forums, doing trails and debugging. I feel like I may be at the point where a step back and another brain to tell me where I'm getting confused? Please see below for just one of the Apex classes and test methods! global with sharing class AccountingPeriodCreationService { public static List <AcctSeed__Accounting_Period__c> accountingPeriod; public static Date currentDate; public static Date firstDayOfCurrentMonth; public static Date lastDayOfCurrentMonth; public static void createdAPLogic(){ Set<String> firstDaysOfMonths = new Set<String>(); accountingPeriod = new List <AcctSeed__Accounting_Period__c>(); // New list for accountingPeriod Object // Create a list of dates for the next 10 years for (Integer i = 0; i < 120; i++){ currentDate = Date.today().toStartofMonth(); firstDayOfCurrentMonth = currentDate.addMonths(i).toStartofMonth(); String currentDateString = String.valueOf(firstDayOfCurrentMonth).removeEnd(' 00:00:00'); firstDayOfCurrentMonth = Date.valueOf(currentDateString); firstDaysOfMonths.add(currentDateString); } // Check what exists already in the database List<AcctSeed__Accounting_Period__c> checkAccountingPeriodAlreadyExist = [SELECT Id, TEMP__c, AcctSeed__Start_Date__c, AcctSeed__End_Date__c FROM AcctSeed__Accounting_Period__c where TEMP__C IN :firstDaysOfMonths]; // For the ones that do exist, remove them from the list for (AcctSeed__Accounting_Period__c ap : checkAccountingPeriodAlreadyExist) { firstDaysOfMonths.remove(ap.TEMP__c); } // For the ones left, insert into the list for (String dt : firstDaysOfMonths){ string currName = dt.replaceAll('.{3}$',''); Date currStart = Date.valueOf(dt); Date currEnd = Date.valueOf(dt).addMonths(1).toStartofMonth().addDays(-1); accountingPeriod.add( new AcctSeed__Accounting_Period__c( Name = currName, AcctSeed__Status__c = 'Status', AcctSeed__Start_Date__c = currStart, AcctSeed__End_Date__c = currEnd ) ); } // Insert into the database System.debug( 'accountingPeriod: ' + accountingPeriod.size()); List<Database.SaveResult> accountingPeriod = Database.insert(accountingPeriod, false); } } Now the Test Class and one method. This is mega basic, literally to insert two items into the list, query the DB and see if there are 2 entries. (Which passes) private class AccountingPeriodCreationServiceTest { static testmethod void checkIfAlreadyExistsTest() { AccountingPeriodCreationService CAP = new AccountingPeriodCreationService(); /* Pre requisites, insert Accounting Period */ List <AcctSeed__Accounting_Period__c> accountingPeriod; Date currentDate; Date firstDayOfCurrentMonth; Date lastDayOfCurrentMonth; Test.startTest(); accountingPeriod = new List <AcctSeed__Accounting_Period__c>(); // New list for accountingPeriod Object Set<String> firstDaysOfMonths = new Set<String>(); for (Integer i = 0; i < 2; i++){ currentDate = Date.today().toStartofMonth(); firstDayOfCurrentMonth = currentDate.addMonths(i).toStartofMonth(); String currentDateString = String.valueOf(firstDayOfCurrentMonth).removeEnd(' 00:00:00'); firstDayOfCurrentMonth = Date.valueOf(currentDateString); firstDaysOfMonths.add(currentDateString); } for (String dt : firstDaysOfMonths){ //System.debug(firstDaysOfMonths); //System.debug(dt); //System.debug(Date.valueOf(dt)); //System.debug(Date.valueOf(dt).addMonths(1).toStartofMonth().addDays(-1)); //System.debug(dt.replaceAll('.{3}$','')); string currName = dt.replaceAll('.{3}$',''); Date currStart = Date.valueOf(dt); Date currEnd = Date.valueOf(dt).addMonths(1).toStartofMonth().addDays(-1); accountingPeriod.add( new AcctSeed__Accounting_Period__c( Name = currName, AcctSeed__Status__c = 'Status', AcctSeed__Start_Date__c = currStart, AcctSeed__End_Date__c = currEnd ) ); } Database.insert(accountingPeriod, false); Test.stopTest(); List<AcctSeed__Accounting_Period__c> InsertResult = [SELECT Id, TEMP__c, AcctSeed__Start_Date__c, AcctSeed__End_Date__c FROM AcctSeed__Accounting_Period__c where TEMP__C IN :firstDaysOfMonths]; System.assertEquals(2, InsertResult.size()); } } I purposely included a carbon copy of the code for this instance, but zero coverage still Have I just gotten this completely wrong? **Any** help is appreciated. Thank you