feat(test): P0级测试质量体系 - 环境变量清单 + 覆盖率门禁 #197

Merged
xiaoxia merged 1 commits from feature/test-quality into develop 2026-07-09 15:42:19 +08:00
Owner

概述

完成小虾SaaS测试质量体系的2项P0级建设:环境变量清单整理 + 测试覆盖率门禁。

改造内容

1. CI环境变量清单(P0-1)

新增文件:docs/ci-env-vars.md

  • 全面扫描后端代码,梳理所有从环境变量读取的配置项
  • 涵盖 pydantic Settings 类 + 零散 os.environ/getenv 调用
  • 分类整理:
    • CI必需(P0):DATABASE_URL、USE_IN_MEMORY_DB、JWT_SECRET_KEY
    • 可选(有默认值):应用配置、数据库连接池、Redis/Celery、JWT、邮件、OSS、语音合成、CORS、文件存储、监控等
    • 测试专用:SMOKE_TEST_PASSWORD、MIGRATION_SINCE_REVISION 等
    • Worker服务专用:WORKER_NAME、WORKER_CONCURRENCY 等
  • 当前CI配置对照及现状评估
  • 附环境变量读取位置索引,便于后续维护

2. 测试覆盖率门禁(P0-5)

**修改文件:

  • pytest.ini - 补充覆盖率配置说明
  • .gitea/workflows/ci-cd.yml - 集成测试阶段增加覆盖率门禁

**具体改动:

  • 单元测试:收集覆盖率数据(apps/ 目录)
  • 集成测试:追加覆盖率 + 50% 最低门槛门禁
  • 输出格式:term + xml(cobertura格式)
  • 初始门槛设为 50%(当前单元测试覆盖率约 60%,确保首次接入通过)
  • 后续可逐步提升门槛
  • pytest-cov 已在 requirements-dev.txt 中,无需新增依赖

收益

  1. 环境变量管理透明化:一份完整的清单,便于CI配置排查和新成员上手
  2. 覆盖率可视化:量化测试质量,看清哪些模块覆盖不足
  3. 门禁机制:防止代码质量回退,倒逼测试补全
  4. 渐进式提升:门槛从低到高,不给团队太大压力

验证

  • 本地单元测试覆盖率:约 60%(超过 50% 门槛)
  • 覆盖率追加功能验证通过
  • 不修改任何业务代码,仅调整配置和新增文档
## 概述 完成小虾SaaS测试质量体系的2项P0级建设:环境变量清单整理 + 测试覆盖率门禁。 ## 改造内容 ### 1. CI环境变量清单(P0-1) **新增文件:`docs/ci-env-vars.md`** - 全面扫描后端代码,梳理所有从环境变量读取的配置项 - 涵盖 pydantic Settings 类 + 零散 os.environ/getenv 调用 - 分类整理: - **CI必需(P0)**:DATABASE_URL、USE_IN_MEMORY_DB、JWT_SECRET_KEY - **可选(有默认值)**:应用配置、数据库连接池、Redis/Celery、JWT、邮件、OSS、语音合成、CORS、文件存储、监控等 - **测试专用**:SMOKE_TEST_PASSWORD、MIGRATION_SINCE_REVISION 等 - **Worker服务专用**:WORKER_NAME、WORKER_CONCURRENCY 等 - 当前CI配置对照及现状评估 - 附环境变量读取位置索引,便于后续维护 ### 2. 测试覆盖率门禁(P0-5) **修改文件: - `pytest.ini` - 补充覆盖率配置说明 - `.gitea/workflows/ci-cd.yml` - 集成测试阶段增加覆盖率门禁 **具体改动: - 单元测试:收集覆盖率数据(apps/ 目录) - 集成测试:追加覆盖率 + 50% 最低门槛门禁 - 输出格式:term + xml(cobertura格式) - 初始门槛设为 50%(当前单元测试覆盖率约 60%,确保首次接入通过) - 后续可逐步提升门槛 - pytest-cov 已在 requirements-dev.txt 中,无需新增依赖 ## 收益 1. **环境变量管理透明化**:一份完整的清单,便于CI配置排查和新成员上手 2. **覆盖率可视化**:量化测试质量,看清哪些模块覆盖不足 3. **门禁机制**:防止代码质量回退,倒逼测试补全 4. **渐进式提升**:门槛从低到高,不给团队太大压力 ## 验证 - 本地单元测试覆盖率:约 60%(超过 50% 门槛) - 覆盖率追加功能验证通过 - 不修改任何业务代码,仅调整配置和新增文档
xiaoxia added 1 commit 2026-07-09 15:25:50 +08:00
feat(test): P0级测试质量体系 - 环境变量清单 + 覆盖率门禁
CI/CD Pipeline / Frontend Lint (push) Successful in 1m24s
CI/CD Pipeline / Validate Code Quality And Tests (push) Successful in 1m24s
CI/CD Pipeline / Build Production Runtime Images (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Has been skipped
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Successful in 1m22s
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 1m45s
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (push) Successful in 2m49s
CI/CD Pipeline / Staging E2E Tests (push) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (push) Has been skipped
d8523875b2
## 改造内容

### 1. CI环境变量清单 (docs/ci-env-vars.md)
- 全面扫描后端代码,整理所有环境变量配置
- 分类:CI必需(P0)、可选(有默认值)、测试专用、Worker服务专用
- 明确当前CI已配置的变量及缺失项
- 附环境变量读取位置索引,便于后续维护

### 2. 测试覆盖率门禁
- 单元测试:收集覆盖率数据(apps/目录)
- 集成测试:追加覆盖率 + 50%最低门槛门禁
- 输出格式:term + xml(cobertura格式)
- 初始门槛设为50%,后续逐步提升
- pytest-cov 已在 requirements-dev.txt 中,无需新增依赖

## 收益
- 环境变量管理透明化,便于CI配置排查
- 覆盖率可视化,量化测试质量
- 门禁机制防止代码质量回退
xiaoxia merged commit f8b004930d into develop 2026-07-09 15:42:19 +08:00
Sign in to join this conversation.