You need to sign in to do that
Don't have an account?
I want 100% code covetage for this test method
Hi,
I am able to do test method for this class but I need 100% code coverage for this class.
************* Class *****************
public with sharing class AegisController {
Account acc;
Id loggedInUser;
public boolean errorFlag {get;set;} { errorFlag = false; }
public AegisController(ApexPages.StandardController controller) {
acc = (Account)controller.getrecord();
loggedInUser = UserInfo.getuserId();
}
public void RequiredFieldValidation() {
try {
if(acc.Rating == null)
errorFlag=true;
}
catch(Exception e) {
errorFlag=true;
}
}
}
*************** Test Method *******************
@isTest
public class Test_AegisController {
static testMethod void testAegisController() {
Account acc = new Account(Name='shravan');
insert acc;
ApexPages.StandardController sc = new ApexPages.StandardController(acc);
AegisController aegisController = new AegisController(sc);
aegisController.RequiredFieldValidation();
/*
//-ve test case
Account acc1 = new Account();
insert acc1;
ApexPages.StandardController sc1 = new ApexPages.StandardController(acc);
AegisController aegisController1 = new AegisController(sc);
aegisController1.RequiredFieldValidation();
System.debug('****Exception*****');
*/
}
}
Here code coverage 83%. Plz help me to increase the code coverage.
Hi Shravan,
The problem is to prevent you to getting 100% coverage is catch block in RequiredFieldValidation() method. So we have 2 options:
1. Either we can take it out from method.
2. Or define a default constructor in class and call this method without initialize acc (account object). Code is as below for 2nd option -
public with sharing class AegisController {
Account acc;
Id loggedInUser;
public boolean errorFlag {get;set;} { errorFlag = false; }
public AegisController(){} // default constructor
public AegisController(ApexPages.StandardController controller) {
acc = (Account)controller.getrecord();
loggedInUser = UserInfo.getuserId();
}
public void RequiredFieldValidation() {
try {
if(acc.Rating == null)
errorFlag=true;
}
catch(Exception e) {
errorFlag=true;
}
}
}
//-------------test class--------------------
@isTest
public class Test_AegisController {
public static testMethod void testAegisController() {
Account acc = new Account(Name='shravan');
insert acc;
ApexPages.StandardController sc = new ApexPages.StandardController(acc);
AegisController aegisController = new AegisController(sc);
aegisController.RequiredFieldValidation();
//-ve test case
AegisController aegisController1 = new AegisController();
aegisController1.RequiredFieldValidation();
System.debug('****Exception*****');
}
}