test class for inserting contacts through the following class

我们两清 提交于 2019-12-16 18:04:37

问题


I have one apex class which inserts the contacts.i wrote one test class for that where its is passing but the code coverage is zero.can somebody suggest what i missed? test class: @isTest public class TestReferalAccessclass { static testMethod void ReferalAccessclassMethod() { Test.StartTest(); Contact c=new Contact(FirstName='fname',LastName = 'lname',Email = 'email@gmail.com',Phone = '9743800309'); insert c; System.AssertNotEquals(Null, c.Id); Test.StopTest();

 }    

}
apex class:
    public without sharing class ReferalAccessclass {
    public String inputID{get; set;}
    public String firstName{get; set;}
    public String lastName{get; set;}
    public String email{get; set;}
    public String phone{get; set;}
    public Decimal exp{get; set;}
    public String location{get; set;}
    public contact con{get;set;}

    Public attachment objAttachment{get; set;}

    public ReferalAccessclass(ApexPages.StandardController controller) 
      { 

    objAttachment = new Attachment();

    }

  public void saveInformation()
{
try{
    IF(inputID != 'NULL'){
    con = [SELECT ID,Name,FirstName,LastName,Email,Phone,Years_of_Experience__c,Location__c FROM Contact where ID =: inputID ];

    con.FirstName = firstName;
    con.LastName = lastName;
    con.Email = email;
    con.Phone = phone; 
    }
    update con;
    objAttachment.ParentId = con.id;
    Insert objAttachment;

   }
  catch(exception e){} 
  ApexPages.Message myMsg = new ApexPages.Message(ApexPages.Severity.FATAL, 'Thank you for your valuable response');

//return null;

}

}

回答1:


You didn't invoke your actual class from test class. That's why its not giving code coverage. Try this test class.

@isTest public class TestReferalAccessclass { 
    static testMethod void ReferalAccessclassMethod() { 

        Contact c=new Contact(
            FirstName='fname',
            LastName = 'lname',
            Email = 'email@gmail.com',
            Phone = '9743800309'); 
        insert c; 
        Test.StartTest(); 
        System.AssertNotEquals(Null, c.Id); 

        ApexPages.StandardController sc = new ApexPages.StandardController(c);
        ReferalAccessclass refClass = new ReferalAccessclass(sc);
        refClass.inputID = c.id;
        refClass.firstName = c.id;
        refClass.lastName = c.id;
        refClass.email = c.id;
        refClass.phone = c.id;
        refClass.con = c;
        refClass.saveInformation();

        Test.StopTest();
    }    
}


来源:https://stackoverflow.com/questions/41820819/test-class-for-inserting-contacts-through-the-following-class

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!