Skip to main content
I had written Test class for below sample trigger code. But  it covered only 56% code coverage. I did all correct. can anyone make it 100% ?

Trigger Code :

trigger AcUpdate on Account (Before Insert,before update) {

for(Account A : Trigger.new){

If( A.SE2_Id__c == '20004')

A.name = 'RBC WEALTH MANAGEMENT';

If( A.SE2_Id__c == '20002' )

A.name = 'JJB HILLIARD LYONS';

If( A.SE2_Id__c == '20000' )

A.name = 'FTB ADVISORS INC';

If( A.SE2_Id__c == '20005' )

A.name = 'BB&T SECURITIES LLC';

If( A.SE2_Id__c == '20003' )

A.name = 'KEY INVESTMENT SERVICES';

}

}

Test Class :

@IsTest

public class AcUpdate_Test{

public static testMethod void main(){

Account ac = new Account ();

            ac.name = 'RBC WEALTH MANAGEMENT';

            ac.Status__c = 'Active';

            ac.SE2_Id__c = '25546';

            ac.Channel__c = 'Bank';

       

            insert ac;

            

            ac.SE2_Id__c = '25346';

            ac.name = 'RBC WEALTH MANAGEMENT1';

            update ac;

            

            Account ac1 = new Account ();

            ac1.name = 'JJB HILLIARD LYONS';

            ac1.Status__c = 'Active';

            ac.SE2_Id__c = '25586';

            ac1.Channel__c = 'Bank';

            insert ac1;

            

            ac.SE2_Id__c = '22546';

            ac1.name = 'RBC WEALTH MANAGEMENT12';

            

            update ac1;

            

            Account ac2 = new Account ();

            ac2.name = 'Test Account3';

            ac2.Status__c = 'Active';

            ac2.SE2_Id__c = '125456';

            ac2.Channel__c = 'Bank';

            insert ac2;

            

            ac2.SE2_Id__c = '12546';

            ac2.name = 'RBCSD WEALTH MANAGEMENT12';

            

            update ac1;

            

            Account ac3 = new Account ();

            ac3.name = 'Test Account4';

            ac3.Status__c = 'Active';

            ac2.SE2_Id__c = '21254';

            ac3.Channel__c = 'Bank';

            insert ac3;

            

            ac2.SE2_Id__c = '15256';

            ac3.name = 'RBC WEALTH MANAGEMENT31';

            update ac3;

            

            Account ac4 = new Account ();

            ac4.name = 'Test Account5';

            ac4.Status__c = 'Active';

            ac4.Channel__c = 'Bank';

            ac2.SE2_Id__c = '8546';

            insert ac4;

            

            ac2.SE2_Id__c = '5740';

            ac4.name = 'RBC WEALTH MANAGEMENT41';

            update ac4;

}

}

 
1 resposta
  1. 26 de fev. de 2015, 07:26

    Hi Anvesh,

    You need to prepare the data which will meet the conditions in the test class to get the complete coverage.

    In your data I see that no record has the value for SE2_Id__c field which is has the value in the trigger.

    Try the below code

     

    @IsTest

    public class AcUpdate_Test{

    public static testMethod void main(){

    Account ac = new Account ();

    ac.name = 'TestAccount';

    ac.Status__c = 'Active';

    ac.SE2_Id__c = '20004';

    ac.Channel__c = 'Bank';

    insert ac;

    Account acc = [SELECT Id,Name,SE2_Id__c FROM Account WHERE Id =:ac.Id];

    System.assertEquals('RBC WEALTH MANAGEMENT',acc.Name);

    acc.SE2_Id__c = '20002';

    update acc;

    Account acc1 = [SELECT Id,Name,SE2_Id__c FROM Account WHERE Id =:acc.Id];

    System.assertEquals('JJB HILLIARD LYONS',acc1.Name);

    Account ac1 = new Account ();

    ac1.name = 'Test Account2';

    ac1.Status__c = 'Active';

    ac.SE2_Id__c = '20000';

    ac1.Channel__c = 'Bank';

    insert ac1;

    Account acc2 = [SELECT Id,Name,SE2_Id__c FROM Account WHERE Id =:ac1.Id];

    System.assertEquals('FTB ADVISORS INC',acc2.Name);

    acc2.SE2_Id__c = '20005';

    update acc2;

    Account acc3 = [SELECT Id,Name,SE2_Id__c FROM Account WHERE Id =:acc2.Id];

    System.assertEquals('BB&T SECURITIES LLC',acc3.Name);

    Account ac2 = new Account ();

    ac2.name = 'Test Account3';

    ac2.Status__c = 'Active';

    ac2.SE2_Id__c = '20003';

    ac2.Channel__c = 'Bank';

    insert ac2;

    Account acc4 = [SELECT Id,Name,SE2_Id__c FROM Account WHERE Id =:ac2.Id];

    System.assertEquals('KEY INVESTMENT SERVICES',acc4.Name);

    }

    }

    Regards,

    Bhanu Mahesh
0/9000