Salesforce生产服务器的代码覆盖率(50%)低于sandbox(100%)?

Salesforce生产服务器的代码覆盖率(50%)低于sandbox(100%)?,salesforce,apex-code,Salesforce,Apex Code,我在沙盒中创建了触发器,并运行了测试,它覆盖了100%。但在部署到生产服务器时,它会抛出一条消息部署错误:所有Apex类和触发器的平均测试覆盖率为50%,至少需要75%的测试覆盖率。 帮我一个忙 trigger TestTrigger on Case (before insert,before update,after insert) { Case ca = Trigger.new[0]; String sub = ca.Subject; if(sub.toU

我在沙盒中创建了触发器,并运行了测试,它覆盖了100%。但在部署到生产服务器时,它会抛出一条消息部署错误:所有Apex类和触发器的平均测试覆盖率为50%,至少需要75%的测试覆盖率。

帮我一个忙

trigger TestTrigger on Case (before insert,before update,after insert) 
{
    Case ca =  Trigger.new[0]; 
    String sub = ca.Subject;



    if(sub.toUpperCase().startsWith('POP') || sub.toUpperCase().startsWith('POI'))
    {    




    }
}

这可能有两个原因:

  • 测试类是否依赖于仅存在于沙箱中的数据或自定义设置
  • 在产品中是否有额外的类或代码?这甚至可以是安装包等形式

测试覆盖率是根据测试的Apex语句(或行)总数除以组织中Apex语句的总数来计算的。

在尝试部署触发器之前,运行所有测试时,生产中的覆盖率是多少?运行所有测试时,沙箱中是否存在任何错误?当您运行所有测试而不仅仅是涉及此触发器的测试时,您的沙箱中的总覆盖率是多少?您可以发布触发器代码和测试代码吗?沙盒中没有错误,当我同时运行所有测试时,沙盒代码覆盖率为100%。请尝试在生产环境中运行所有测试,并在添加此触发器和测试类之前查看百分比。它是否低于75%?我在生产中运行了所有测试,它显示了100%的覆盖率。TestClass是否与TestTrigger同时部署?这可以解释生产中缺乏覆盖率的原因。那个么,或者在生产中有另一个触发器正在干扰这个用例。我已经粘贴了我的触发器和测试用例。我的测试相关数据和我在生产服务器中有额外的类。谢谢,我没有注意到这一点。我依赖于一些只存在于沙箱中的帐户对象。