📋 项目概述
本框架是《基于 OpenClaw + Claude Code 的端到端研发自动化系统》的核心组成部分,提供从需求分析到部署验收的全流程自动化能力。任务 62 专注于实现单元测试的自动执行、测试报告生成和代码覆盖率分析功能。
🎯 核心功能
🧪
多语言测试执行
支持 Python (pytest)、JavaScript (jest)、Java (JUnit5)、Go (go test) 等多种编程语言的单元测试自动执行
📊
代码覆盖率分析
集成 coverage.py、Istanbul 等工具,提供行覆盖率、分支覆盖率、函数覆盖率等多维度分析
📄
HTML 报告生成
自动生成 AI 科幻量子炫彩风格的 HTML 测试报告,包含仪表板、统计图表、详细结果等
🔄
CI/CD 集成
无缝集成 Jenkins、Docker、Kubernetes/KubeSphere,实现从测试到部署的完整流水线
👥
人机协同
审批流程管理、多渠道通知(Email/Slack/微信)、人工干预请求,确保关键决策有人把关
⚡
并行执行
支持多线程/多进程并行执行测试,大幅提升测试效率,缩短反馈周期
🏗️ 系统架构
┌─────────────────────────────────────────────────────────────────┐
│ 端到端研发自动化系统 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ 需求分析 │→│ PRD 设计 │→│ 技术方案设计 │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
│ ↓ ↓ ↓ │
│ ┌──────────────────────────────────────────────────┐ │
│ │ AI Coding (代码自动生成) │ │
│ └──────────────────────────────────────────────────┘ │
│ ↓ │
│ ┌──────────────────────────────────────────────────┐ │
│ │ ★ 单元测试自动化框架 (任务 62) ★ │ │
│ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │
│ │ │测试执行器 │→│覆盖率分析 │→│报告生成器 │ │ │
│ │ └──────────┘ └──────────┘ └──────────┘ │ │
│ └──────────────────────────────────────────────────┘ │
│ ↓ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ 集成测试 │→│ UI 自动化 │→│ 自动部署 │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
📦 模块组成
| 模块名称 |
文件路径 |
功能描述 |
| TestExecutor |
src/test_executor.py |
单元测试自动执行模块,支持多语言测试框架 |
| CoverageAnalyzer |
src/coverage_analyzer.py |
代码覆盖率分析模块,集成 coverage.py/istanbul |
| TestReportGenerator |
src/report_generator.py |
HTML 测试报告生成模块,AI 科幻量子炫彩风格 |
| CICDIntegration |
src/cicd_integration.py |
CI/CD 集成模块,Jenkins+Docker+Kubernetes |
| HumanMachineCollaboration |
src/human_machine_collaboration.py |
人机协同模块,审批流程、通知、人工干预 |
💻 使用示例
快速开始
pip install -r requirements.txt
python main.py --language python --coverage --report
open reports/test_report.html
Python API 调用
from src.test_executor import TestExecutor, LanguageType
from src.report_generator import TestReportGenerator
executor = TestExecutor()
report = executor.execute_tests(
language=LanguageType.PYTHON,
test_dir="tests",
parallel=True,
coverage=True
)
generator = TestReportGenerator()
html_file = generator.generate_html_report(report_data)
CI/CD Pipeline 集成
from src.cicd_integration import CICDPipeline
pipeline = CICDPipeline()
result = pipeline.run_full_pipeline(
app_name="my-app",
source_dir=".",
image_tag="v1.0.0",
namespace="production"
)
🔧 配置说明
主要配置文件位于 config/config.yaml,可配置项包括:
- 测试执行配置:测试 runner、测试模式、并行 worker 数量、超时时间
- 覆盖率配置:启用开关、阈值设置(行/分支/函数)
- 报告配置:输出目录、报告类型(HTML/JSON/XML)
- 人机协同配置:审批网关、通知渠道、审批人列表
🚀 部署方案
Docker 部署
docker build -t unit-test-automation:latest -f docker/Dockerfile .
docker run -it --rm -v $(pwd):/app unit-test-automation:latest
Kubernetes 部署
kubectl apply -f k8s/deployment.yaml
kubectl get pods -n testing
kubectl get svc -n testing
✅ 最佳实践
- 测试命名规范:使用描述性的测试函数名,如
test_add_positive_numbers
- 覆盖率目标:核心业务代码≥90%,一般业务≥80%,工具类≥70%
- 并行优化:根据 CPU 核心数调整 parallel_workers 参数
- 报告定制:可选择 quantum_scifi、modern、minimal 等主题风格
- 持续集成:在 CI/CD 流水线中自动执行测试和覆盖率检查