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
sgsssgss 

Test Class Required

Test Class is needed for following code

​---------------------------------------------------------------------------------------
Description: Account Record with Name =”Joe”. Create associated
contacts.
****************************************************************************************/
public class AssosciatedClass {
public static void addRecord(){
try {
    Account accountRecord = new Account(Name='Joe');
    insert accountRecord;
    ID acctID = accountRecord.ID;                        //Get Id of the new Record

    Contact contactRecord = new Contact(              // Add a contact to this account.
        FirstName='Joe',
        LastName='Smith',
        AccountId=acctID);
        
    insert contactRecord;
}
 catch(DmlException e) {
    System.debug('An unexpected error has occurred: ' + e.getMessage());
}
}
}
Raj VakatiRaj Vakati
@isTest 
public class AssosciatedClassTest 
{
	static testMethod void testMethod1() 
	{
		 
		Test.StartTest(); 
			 
		AssosciatedClass.addRecord() ; 
		
		Test.StopTest();
	}
}

 
Raj VakatiRaj Vakati
Try this as well 
 
@isTest 
public class AssosciatedClassTest 
{
	static testMethod void testMethod1() 
	{
		 
		Test.StartTest(); 
		AssosciatedClass.addRecord() ; 
		System.assertEquals('Joe',[Select Id ,Name from Account Limit 1].Name);

	System.assertEquals('Joe',[Select Id ,FirstName from Contact Limit 1].FirstName);

		Test.StopTest();
		
		
	}
}

 
devedeve
Hi Supriya,

Please check this code:-

@isTest
private class AssosciatedClassTest {

    @isTest static void testAddRecordInsertContactAndAccount() {
        
        Test.startTest();
            AssosciatedClass.addRecord();
        Test.stopTest();
        
        Contact contact = [SELECT Id FROM Contact LIMIT 1];
        
        System.assertNotEquals(null, contact, 'insert contact');
    }
}

But it will not cover catch part because there is no way to get this exception from testClass So if you want to cover this part also then write your code something like this. Just pass argument lastName in your method definition


public class AssosciatedClass {
public static void addRecord(String lastName){
try {
    Account accountRecord = new Account(Name='Joe');
    insert accountRecord;
    ID acctID = accountRecord.ID;                        //Get Id of the new Record

    Contact contactRecord = new Contact(              // Add a contact to this account.
        FirstName='Joe',
        LastName=lastName,
        AccountId=acctID);
        
    insert contactRecord;
}
 catch(DmlException e) {
    System.debug('An unexpected error has occurred: ' + e.getMessage());
}
}
}

 
Akshay_DhimanAkshay_Dhiman
 
Hi Supriya

Try for this code.
===================================    class ===============================
 
public class AssosciatedClass
 {
public static void addRecord()
{
  Account accountRecord = new Account(Name='Joe');
    insert accountRecord;
    ID acctID = accountRecord.ID;                    

    Contact contactRecord = new Contact(           
        FirstName='Joe',
        LastName='Smith',
        AccountId=acctID);
        
    insert contactRecord;

}
}

======================= Test Classs     =============================
@isTest
public class AssosciatedClass_Test {
   @isTest
    public static void addRecord_Test()
    {
        System.Test.startTest();
        AssosciatedClass.addRecord();
        System.Test.stopTest();
    }
}



Thanks.
Akshay