How to Set Up Test Data for an Entire Test Class in Salesforce?

How to Set Up Test Data for an Entire Test Class in Salesforce?

To Set Up Test Data for an Entire Test Class in Salesforce, @testSetup is used.

Sample Test Class:

@isTest
private class CommonTestSetup {
/* Method to setup data */
    @testSetup static void setup() {
        /* Create common test Accounts */
        List<Account> testAccts = new List<Account>();
        for(Integer i=0;i<2;i++) {
            testAccts.add(new Account(Name = 'TestAcct'+i));
        }
        insert testAccts;     


/* Create common test Contacts */
        List<Contact> testContacts = new List<Contact>();
        for(Integer i=0;i<2;i++) {
            testContacts.add(new Contact(FirstName = 'TestAcct'+i, LastName = 'TestAcct'+i));
        }
        insert stName = 'TestAcct'+i;
    }

    @isTest static void testMethod1() {
        /* Testing class with Accounts and Contacts */
    }

    @isTest static void testMethod2() {
        /* Testing class with Contacts */

    }
}

@testSetup avoids creation of same set of records to be used in different test methods in the same test class.

Leave a Reply