datai/docs/archive/changelog/2026-01-27-013-3-changelog.md

3.0 KiB
Raw Blame History

变更日志REQ-013-3 Apex 单元测试与覆盖率统计

元数据

  • 需求编号REQ-013-3
  • 创建时间2026-01-27
  • 创建人AI Assistant
  • 版本号v1.0.0

变更概述

实现 Apex 单元测试执行与覆盖率统计封装,支持按类、方法、包或全量运行测试,解析测试成功/失败详情与覆盖率数据,输出结构化结果对象,便于前端展示与分析。

变更内容

新增功能

  • 测试执行服务
    • 定义 ApexTestExecutorService 接口与实现,封装 SoapConnection.runTests
    • 支持 allTestsclassespackagestests(TestsNode[])namespacemaxFailedTests 参数。
  • 结果与覆盖率解析
    • 定义 TestRunResultTestSuccessTestFailure 模型,映射 RunTestsResult
    • 定义 CodeCoverageLocation 模型,映射 CodeCoverageResultCodeLocation
    • 预计算覆盖率百分比 (numLocations - numLocationsNotCovered) / numLocations
  • 单元测试
    • 使用 JUnit 5 与 Mockito 对核心路径进行验证(成功执行、覆盖率解析、异常处理)。

新增代码文件

  • datai-salesforce-apex/src/main/java/com/datai/apex/core/ApexTestExecutorService.java
  • datai-salesforce-apex/src/main/java/com/datai/apex/core/impl/ApexTestExecutorServiceImpl.java
  • datai-salesforce-apex/src/main/java/com/datai/apex/model/test/TestOptions.java
  • datai-salesforce-apex/src/main/java/com/datai/apex/model/test/TestRunResult.java
  • datai-salesforce-apex/src/main/java/com/datai/apex/model/test/TestSuccess.java
  • datai-salesforce-apex/src/main/java/com/datai/apex/model/test/TestFailure.java
  • datai-salesforce-apex/src/main/java/com/datai/apex/model/test/CodeCoverage.java
  • datai-salesforce-apex/src/main/java/com/datai/apex/model/test/Location.java
  • datai-salesforce-apex/src/test/java/com/datai/apex/core/impl/ApexTestExecutorServiceImplTest.java

修改代码文件

  • datai-salesforce-apex/src/main/java/com/datai/apex/core/impl/ApexExecutorServiceImpl.java(修正 DebuggingHeader 设置方式)

新增文档

影响范围

  • 模块:datai-salesforce-apex
  • 功能Apex 测试执行与覆盖率统计
  • 依赖:基于 com.force.api:force-wsc 的 Apex SOAP 客户端

相关文档