如何解决Salesforce代码覆盖率失败:尽管沙盒中100%的代码覆盖率,也无法在生产中部署Apex触发器
我在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;
}
这里是我的测试班
@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;
}
}
解决方法
没关系,我找到了解决方案。 我直接在更新列表,这导致代码覆盖率失败。
我刚刚换了 if(cList.size()> 0)更新cList;
if(cList.size()> 0)向上插入cList;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。