56 lines
3.0 KiB
Markdown
56 lines
3.0 KiB
Markdown
# 变更日志: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)
|