课程章节介绍
来,咱们聊聊这个重点内容。你知道在Salesforce里开发应用,尤其要把应用打包发布,一个硬性要求就是单元测试必须覆盖至少75%的代码。这个不是可选的,是必须的。为什么呢?因为Salesforce要保证你的代码在生产环境不会出大问题,测试覆盖率就是一道质量门槛。
今天我们看的这个航运发票应用程序,就是一个很好的完整示例。它里面有一个触发器,这个触发器能自动计算运费金额,还会应用折扣。比如一笔订单,加了商品之后,触发器会自动帮你算好该收多少运费,并看看要不要打折,非常智能。
然后为了验证这个触发器是不是可靠,我们写了一个专门的测试类。这个测试类可不简单,它覆盖了好几种场景:正常插入商品、更新商品数量、删除商品、运费折扣是不是正确地应用了,甚至还包括一些负面的测试场景——比如我故意操作不当,看系统会不会把不该做的事做了。这样能保证代码在各种边界条件下都是安全的。
还有一点很关键,这个代码特别遵循了“批量触发器”的最佳实践。什么意思呢?就是在处理数据的时候,我们用集合和映射来批量处理,而不是一条一条的循环处理。比如用List来存要更新的记录,用Map来快速查找数据,这样处理大批量数据时又快又稳,不会碰到Salesforce的调控限制。
好,下一张幻灯片我们就会深入这个例子,看具体是怎么写的。但你先记住,75%的测试覆盖率是一个底线,这个航运发票的例子就是展示如何通过好的设计和充分的测试,轻松达到甚至超过这个要求。
关键词
Apex
Salesforce
Developer Guide