Triggers Salesforce代码覆盖率失败:尽管沙盒中的代码覆盖率为100%,但无法在生产中部署Apex触发器

Triggers Salesforce代码覆盖率失败:尽管沙盒中的代码覆盖率为100%,但无法在生产中部署Apex触发器,triggers,salesforce,code-coverage,apex,Triggers,Salesforce,Code Coverage,Apex,我在Sandbox中的触发器的代码覆盖率为100%,但在将包上载到生产环境时,我出现了一个错误 代码覆盖失败 您的代码覆盖率为74%。您需要至少75%的覆盖率才能完成此部署 我真的不明白为什么会出现这个错误,尽管我的代码在沙箱中被100%地覆盖了 我的代码没有任何其他测试类 我错过了什么? 谢谢 这是我的扳机 trigger CaseConcernAircallDateTrigger on Task (after insert) { List<Case> cLi

我在Sandbox中的触发器的代码覆盖率为100%,但在将包上载到生产环境时,我出现了一个错误

代码覆盖失败 您的代码覆盖率为74%。您需要至少75%的覆盖率才能完成此部署

我真的不明白为什么会出现这个错误,尽管我的代码在沙箱中被100%地覆盖了

我的代码没有任何其他测试类

我错过了什么? 谢谢

这是我的扳机

trigger CaseConcernAircallDateTrigger on Task (after insert) {
   
    List<Case>  cList = new List<Case>();
    for(Task t: Trigger.New) {
        if(t.WhatId!=Null && t.whatId.getsObjectType() == Case.sObjectType){
            Case c = new Case();
            c.Id = t.whatId;
            c.Last_Aircall_Logged__c = t.CreatedDate;
            cList.add(c);
          
        }
     
    }
   
    if(cList.size() > 0) update cList;
}

没关系,我找到了解决办法。 我正在直接更新列表,这导致代码覆盖率失败

我刚换了衣服 如果(cList.size()>0)更新cList;到

如果(cList.size()>0)向上插入cList

@isTest
  public class CaseConcernAircallDateTriggerTest {
      @isTest static void testAircallDateUpdate() {
        
        Contact con = new Contact (FirstName = 'First Name',LastName = 'Test');
        insert con;
        
        Case c = new Case(Status = 'New',ContactId = con.Id,Phone_Number__c = '123456789');
        insert c;
        
        Task t = new Task(Subject = 'Test', WhatId = c.Id);
        insert t;
       
        c.Id = t.WhatId;
        c.Last_Aircall_Logged__c = t.CreatedDate;
        update c;
       
   }
}