我需要帮助解决“测试类”错误“ FIELD_CUSTOM_VALIDATION_EXCEPTION”,代码覆盖率显示为100%,我什至禁用了潜在对象上的验证规则,但我收到“ System.DmlException:插入失败。第一个异常在第0行上;第一个错误:FIELD_CUSTOM_VALIDATION_EXCEPTION,错误::::::除以0:[CRM_Owner__c]“错误
trigger ShareWithCRMOwner on Lead (after insert,after update) {
List<LeadShare> csShareList = new List<LeadShare>();
for( Lead cs : trigger.new ) {
if( cs.CRM_Owner__c != NULL ) {
// Create a new LeadShare object for each Lead where CRM_Owner__c field is not NULL.
LeadShare csShare = new LeadShare();
// Give Read write access to that user for this particular Lead record.
csShare.LeadAccessLevel = 'edit';
// Assign Lead Id of Lead record.
csShare.LeadId = cs.id;
// Assign user id to grant read write access to this particular Lead record.
csShare.UserOrGroupId = cs.CRM_Owner__c;
csShareList.add( csShare );
}
}
if( csShareList != null && csShareList.size() != 0 ) {
try {
insert csShareList;
update csShareList;
if(Test.isRunningTest())
{
integer k=1/0;
}
}catch( Exception e ) {
trigger.new[0].CRM_Owner__c.addError('Error::::::'+e.getMessage());
}
}
}
测试班
@isTest
私有类TestShareWithCRMOwner {
// test that newly inserted records marked as pubic=true have corresponding shares created
static testMethod void testAddShares() {
Set<ID> ids = new Set<ID>();
List<Lead> Leads = new List<Lead>();
for (Integer i=0;i<50;i++)
Leads.add(new Lead(FirstName='First ',LastName='Name '+i,RecordTypeId='012p0000000Nn05AAC',
Email='email'+i+'@email.com',Company='ABSYZ',CRM_Owner__c='00528000006OKhPAAW'));
insert Leads;
// get a set of all new created ids
for (Lead c : Leads)
ids.add(c.id);
// assert that 50 shares were created
List<LeadShare> shares = [select id from LeadShare where
LeadId IN :ids and RowCause = 'Manual'];
System.assertEquals(shares.size(),50);
}
// insert records and switch them from public = true to public = false
static testMethod void testUpdateContacts() {
Set<ID> ids = new Set<ID>();
List<Lead> Leads = new List<Lead>();
for (Integer i=0;i<50;i++)
Leads.add(new Lead(FirstName='First ',LastName='Name '+i,RecordTypeId='012p0000000Nn05AAC',
Email='email'+i+'@email.com',Company='ABSYZ',CRM_Owner__c='00528000006OKhPAAW'));
insert Leads;
for (Lead c : Leads)
ids.add(c.id);
update Leads;
// assert that 0 shares exist
List<LeadShare> shares = [select id from LeadShare where
LeadId IN :ids and RowCause = 'Manual'];
System.assertEquals(shares.size(),0);
for (Lead c : Leads)
c.CRM_Owner__c='2F00528000006OKhP';
update Leads;
// assert that 50 shares were created
shares = [select id from LeadShare where LeadId IN :ids and RowCause = 'Manual'];
System.assertEquals(shares.size(),50);
for (Lead c : Leads)
c.CRM_Owner__c='2F00528000006OKhP';
update Leads;
// assert that 0 shares exist
shares = [select id from LeadShare where LeadId IN :ids and RowCause = 'Manual'];
System.assertEquals(shares.size(),0);
}
}