本项目提供了两个便于使用的覆盖率测试脚本,支持不同的使用场景。
scripts/coverage.sh - 简化版Bash脚本,适合日常使用scripts/run_coverage.py - 功能完整的Python脚本,支持高级选项# 进入项目根目录 cd /home/bmy001/Work/aichatbot # 运行基本覆盖率测试 ./scripts/coverage.sh # 运行详细覆盖率测试(显示缺失行号) ./scripts/coverage.sh --detailed # 生成HTML报告 ./scripts/coverage.sh --html # 运行完整分析 ./scripts/coverage.sh --detailed --html --analysis
# 基本用法 python scripts/run_coverage.py # 详细报告 python scripts/run_coverage.py --detailed # 生成HTML报告 python scripts/run_coverage.py --format html # 运行模块分析 python scripts/run_coverage.py --analysis # 组合使用 python scripts/run_coverage.py --format both --detailed --analysis --clean
优点:
选项:
-d, --detailed - 显示详细覆盖率报告(缺失行号)-h, --html - 生成HTML报告-a, --analysis - 运行模块覆盖率分析-t, --timeout N - 设置超时时间(默认:180秒)--help - 显示帮助信息优点:
选项:
--format/-f {term,html,both} - 报告格式--detailed/-d - 显示详细信息--analysis/-a - 运行模块分析--clean/-c - 测试前清理缓存--timeout/-t N - 超时时间--modules/-m - 指定测试模块# 快速检查当前覆盖率 ./scripts/coverage.sh # 查看具体缺失的代码行 ./scripts/coverage.sh -d
# 生成完整的分析报告 ./scripts/coverage.sh -d -h -a # 或使用Python脚本 python scripts/run_coverage.py --format both --detailed --analysis
# 只测试telegram模块 python scripts/run_coverage.py --modules telegram --detailed # 测试多个模块 python scripts/run_coverage.py --modules telegram core --format html
🔍 运行覆盖率测试 (超时: 180s)... Name Stmts Miss Cover ------------------------------------------------------------------------ src/claude_agent/core/agent.py 444 233 48% src/claude_agent/telegram/message_handler.py 545 85 84% src/claude_agent/utils/helpers.py 134 0 100% ------------------------------------------------------------------------ TOTAL 4547 1550 66% ✅ 覆盖率测试完成
🔬 分析各模块覆盖率... 模块覆盖率汇总: ------------------------ storage: ✅ 84% telegram: ✅ 85% cli: ✅ 95% utils: ✅ 93% mcp: ✅ 100% core: ✅ 48%
脚本无法执行
chmod +x scripts/coverage.sh
虚拟环境不存在
python -m venv venv source venv/bin/activate pip install -r requirements.txt
测试超时
# 增加超时时间 ./scripts/coverage.sh --timeout 300
缓存问题
# 清理缓存后再测试 python scripts/run_coverage.py --clean
使用这些脚本可以: