How is Code Coverage Calculated?

DEX450 - Module 12: Testing Strategies

📄 第 317 页 🎬 视频课程

课程章节介绍

让我们来聊聊Salesforce中的代码覆盖率是怎么一回事。首先,想象一下你的代码就像一本书,而代码覆盖率就是告诉你这本书有多少页被真正“读过”了。在Salesforce中,这个“读过”的部分指的是那些被测试执行过的代码行。 现在,不是所有的代码行都会被计入覆盖率。比如,注释、空行、只有部分语句的行、System.DEBUG()语句,还有那些只有大括号{}的行,这些都不会被算作覆盖行。但是,如果一行上有多个语句,它们会被当作一行来计算。如果是一个多行的表达式,那么每一行都会单独计算。 举个例子,假设你有一段代码,我们可以把它分成几个部分:C1、C2、T1、C3、T2和C4。如果测试覆盖了C1、C2、T1和C3,那么覆盖率就是75%,因为T2和C4没有被覆盖。但是,每个触发器至少需要有一行被覆盖,这是最低要求。不过,C4这一部分不需要被覆盖。 Salesforce要求你的代码覆盖率至少达到75%,但为了代码的质量和稳定性,你应该努力达到90%以上。 计算代码覆盖率的时候,有两个关键的时间点:一个是你显式执行测试的时候,另一个是你进行部署的时候。这两个时间点都会计算覆盖率,但它们是不同的。显式执行测试通常是通过用户界面来调用的,比如使用开发者控制台。测试会排队异步运行,完成后,代码覆盖率表会根据测试结果更新。 希望这个解释能帮助你理解Salesforce中的代码覆盖率是如何计算的。记住,高覆盖率意味着你的代码更健壮,更不容易出错。所以,尽量让你的覆盖率保持在90%以上吧!