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

56 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 变更日志REQ-013-3 Apex 单元测试与覆盖率统计
## 元数据
- 需求编号REQ-013-3
- 创建时间2026-01-27
- 创建人AI Assistant
- 版本号v1.0.0
## 变更概述
实现 Apex 单元测试执行与覆盖率统计封装,支持按类、方法、包或全量运行测试,解析测试成功/失败详情与覆盖率数据,输出结构化结果对象,便于前端展示与分析。
## 变更内容
### 新增功能
- **测试执行服务**
- 定义 `ApexTestExecutorService` 接口与实现,封装 `SoapConnection.runTests`
- 支持 `allTests`、`classes`、`packages`、`tests(TestsNode[])`、`namespace`、`maxFailedTests` 参数。
- **结果与覆盖率解析**
- 定义 `TestRunResult`、`TestSuccess`、`TestFailure` 模型,映射 `RunTestsResult`
- 定义 `CodeCoverage``Location` 模型,映射 `CodeCoverageResult``CodeLocation`
- 预计算覆盖率百分比 `(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 设置方式)
### 新增文档
- [需求文档](../requirements/REQ-013-3.md)
- [设计文档](../design/2026-01-27-013-3-Apex单元测试与覆盖率统计设计.md)
- [决策记录](../decisions/adr/2026-01-27-013-3-ADR-Apex测试执行与覆盖率方案.md)
- [提示词](../prompts/2026-01-27-013-3-prompt-Apex单元测试与覆盖率统计.md)
- [会话记录](../sessions/2026-01-27-013-3-session.md)
## 影响范围
- 模块:`datai-salesforce-apex`
- 功能Apex 测试执行与覆盖率统计
- 依赖:基于 `com.force.api:force-wsc` 的 Apex SOAP 客户端
## 相关文档
- [需求文档](../requirements/REQ-013-3.md)
- [设计文档](../design/2026-01-27-013-3-Apex单元测试与覆盖率统计设计.md)
- [决策记录](../decisions/adr/2026-01-27-013-3-ADR-Apex测试执行与覆盖率方案.md)
- [提示词](../prompts/2026-01-27-013-3-prompt-Apex单元测试与覆盖率统计.md)
- [会话记录](../sessions/2026-01-27-013-3-session.md)