课程章节介绍
同学们,今天我们来聊聊 Apex 里一个比较特别的测试类型——,集成测试,。
你看,平时我们写的单元测试,就像在房间里用玩具模拟真实世界,一切外部交互都得用 Mock 来假装,测试完数据也会自动回滚,不留下任何痕迹。
但集成测试就不一样了,它是在真实的 Salesforce 组织和外部服务之间进行真正的“通话”。
因为它要真的打通服务,所以它会放宽很多单元测试里的严格限制,比如不再强制回滚事务,也不再限制你得老老实实模拟入站邮件那样的操作。
不过,要提醒大家,集成测试目前还只是一个,开发者预览版,,只能在临时组织里使用,还不能直接部署到生产环境。
它和标准单元测试的具体区别,我帮大家梳理一下,听好了:
- ,允许真实调用 Agentforce 或 Data 360,,你不需要再写一堆 Mock 了,直接就能测。
- 如果你想在测试里,把数据真正提交到数据库,,可以用 `@TearDown` 方法来实现,数据会真实保留。
- 默认情况下,`SeeAllData` 就是 `true`,也就是说它能看见组织里真实存在的数据。
- ,它完全不计入代码覆盖率,,所以不用担心覆盖率指标,它不参与统计。
- 从元数据部署的角度看,它是,被排除在外的,,不能随着元数据一起迁移。
- 运行的时候也有特殊限制:,同时只能跑一个,并发测试,并且 ,最长运行时间 10 分钟,。
那我们什么时候需要用这种集成测试呢?
主要是三件事:,测试真实的服务交互行为,、,测试 DMO(数据模型对象)查询,,还有那些,依赖提交数据的业务场景,。
比如你想验证一条数据真正落库后,下游的 Data 360 能不能查到,这就得靠集成测试。
好了,咱们把集成测试当作一个能真正伸手到外部世界摸一摸的工具,但记得它还在预览阶段,只在临时环境里慢慢探索就好。
下节课我们再结合实际例子,看看怎么写出这样一个集成测试类。
关键词
Apex
Salesforce
Developer Guide