You need to sign in to do that
Don't have an account?
randheer practise
in the below class for upsert functionality iam getting 95% code coverage but iam unable to cover code in catch block while iam inserting the record,canany one help me from that
apex class
public class UpsertDml {
public list<Account> acc{get;set;}
//default constructor1
public UpsertDml(){
acc=new list<Account>();
}
public void upsertAccount()
{
Account a = new Account(Name='k');
try{
insert a;
}catch(Exception e){
system.debug('Recor '+a.Name +' inserted successfully');
}
List<Account> accounts=[SELECT id,name FROM Account WHERE name='kanusupdated'];
If(accounts.size() > 0){
try{
for(Account a1:accounts)
{
if(a1.name=='kanusupdated')
{
Account a2=new Account();
a2.id=a1.id;
a2.name='kanus updated';
acc.add(a2);
}
}
update acc;
system.debug('records were updated successfully===='+acc);
}catch(DMLException e){
system.debug('records were not updated====='+e);
}
}
}
}
============testclass
@isTest
public class upsertDml_Test {
public static testmethod list<Account> recordCreation(){
List<Account> ac = new List<Account>();
Account a = new Account();
a.Name = 'kanusupdated';
ac.add(a);
return ac;
}
public static testmethod void P_main(){
Test.startTest();
Account a = new Account(name='kanusupdated');
list<Account> acc1 = recordCreation();
insert acc1;
upsertDml sc = new upsertDml();
sc.acc = recordCreation();
system.debug('values in sc.acc ============='+sc.acc);
sc.upsertAccount();
Test.stopTest();
}
}
thanks in advance..just cover the code at catch block while iam inserting record with name 'k'..thanks in advance
public class UpsertDml {
public list<Account> acc{get;set;}
//default constructor1
public UpsertDml(){
acc=new list<Account>();
}
public void upsertAccount()
{
Account a = new Account(Name='k');
try{
insert a;
}catch(Exception e){
system.debug('Recor '+a.Name +' inserted successfully');
}
List<Account> accounts=[SELECT id,name FROM Account WHERE name='kanusupdated'];
If(accounts.size() > 0){
try{
for(Account a1:accounts)
{
if(a1.name=='kanusupdated')
{
Account a2=new Account();
a2.id=a1.id;
a2.name='kanus updated';
acc.add(a2);
}
}
update acc;
system.debug('records were updated successfully===='+acc);
}catch(DMLException e){
system.debug('records were not updated====='+e);
}
}
}
}
============testclass
@isTest
public class upsertDml_Test {
public static testmethod list<Account> recordCreation(){
List<Account> ac = new List<Account>();
Account a = new Account();
a.Name = 'kanusupdated';
ac.add(a);
return ac;
}
public static testmethod void P_main(){
Test.startTest();
Account a = new Account(name='kanusupdated');
list<Account> acc1 = recordCreation();
insert acc1;
upsertDml sc = new upsertDml();
sc.acc = recordCreation();
system.debug('values in sc.acc ============='+sc.acc);
sc.upsertAccount();
Test.stopTest();
}
}
thanks in advance..just cover the code at catch block while iam inserting record with name 'k'..thanks in advance