SuperAPI AI 工具集

nebula-logger-testing-your-code

测试与质量

查看项目

更新于 10-15 23:34

技能介绍

用途:面向自身 Apex 或 LWC 代码中调用 Logger.info(...)、Logger.error(...) 等 API 的开发者,帮助在测试中验证日志内容是否正确。仅使用 Nebula Logger 的全局 API,因此解锁包与托管包均适用。

主要能力:Nebula Logger 在事务内将日志条目缓存在内存中,Logger.saveLog() 将缓冲条目送入保存路径。测试可在保存前用 Logger.getBufferSize() 断言缓冲条目数量;也可调用 saveLog() 后查询持久化记录,涉及 Log__c、LogEntry__c、LogEntryTag__c、LoggerScenario__c、LoggerTag__c 等对象。默认 EVENT_BUS 保存方式下,平台事件在 System.Test.stopTest() 期间触发。若使用 QUEUEABLE 保存方式,或被测异步代码自身记录日志,则需在 stopTest 后额外调用 System.Test.getEventBus().deliver()。

使用方式:可用 Logger.suspendSaving() 暂停保存、Logger.resumeSaving() 恢复、Logger.flushBuffer() 丢弃缓冲、Logger.isSavingSuspended() 检查状态。LWC 测试使用 sfdx-lwc-jest 时,mock c/logger 模块并断言传入参数。

限制:仅全局 API 受支持,public 内部接口可能变更。CMDT 记录在测试中为真实值且不回滚,配置变更会影响测试行为,部署自定义后应重跑相关测试。LoggerConfigurationSelector.useMocks() 非全局,订阅方测试不可用。其余细节暂未提供。