文档修改
This commit is contained in:
@@ -54,15 +54,15 @@
|
||||
```
|
||||
fonrey/
|
||||
├── apps/
|
||||
│ ├── tenants/ # django-tenants 配置(shared_apps)
|
||||
│ ├── accounts/ # 登录认证(详见 登录管理技术方案.md)
|
||||
│ ├── permissions/ # 权限管理(详见 权限管理系统技术方案.md)
|
||||
│ ├── tenant/ # django-tenants 配置(shared_apps)
|
||||
│ ├── account/ # 登录认证(详见 登录管理技术方案.md)
|
||||
│ ├── permission/ # 权限管理(详见 权限管理系统技术方案.md)
|
||||
│ ├── org/ # 组织人事(org_units, staff)
|
||||
│ ├── region/ # 区域管理(districts, business_areas, metro)
|
||||
│ ├── complex/ # 楼盘管理(complexes, buildings, schools)
|
||||
│ ├── property/ # 房源核心(含 models/services/tasks 三层)
|
||||
│ ├── client/ # 客源管理
|
||||
│ ├── settings/ # 系统设置(lookup, tags)
|
||||
│ ├── setting/ # 系统设置(lookup, tags)
|
||||
│ └── release/ # 客户端发布管理(shared_apps)
|
||||
├── shared/ # 公共 Schema App
|
||||
└── core/
|
||||
@@ -144,10 +144,51 @@ apps/property/
|
||||
|
||||
---
|
||||
|
||||
## 9. 文档维护原则
|
||||
## 9. 测试策略
|
||||
|
||||
> **完整测试规范**见:[`测试规范.md`](./测试规范.md)。本节仅列关键结论。
|
||||
|
||||
Fonrey 采用 AI vibe coding 模式开发,测试是保证每日迭代质量的唯一安全网。**每个 P0 User Story 完成后,对应测试必须同步产出,不允许欠测试债。**
|
||||
|
||||
### 测试分层
|
||||
|
||||
| 层级 | 工具 | 覆盖目标 | 运行频率 |
|
||||
|------|------|---------|---------|
|
||||
| **单元测试** | `pytest-django` + `factory_boy` | `core/`、`services/`、`tasks.py` | 每次 push |
|
||||
| **集成测试** | `pytest-django` TenantClient | 所有 P0 User Story 的 HTTP 接口 | 每次 push |
|
||||
| **E2E 测试** | `playwright` (Python) | 5 条核心用户旅程 | 每日定时 |
|
||||
|
||||
### 关键约定
|
||||
|
||||
- 所有集成测试必须使用 `django-tenants` 的 `TenantClient`,禁止使用 Django 原生 `Client()`
|
||||
- HTMX 局部请求测试须携带 `HTTP_HX_REQUEST: true` header,并验证返回局部 HTML 而非完整页面
|
||||
- Celery 任务测试使用 `CELERY_TASK_ALWAYS_EAGER = True` 同步执行
|
||||
- 外部服务(R2、Redis、邮件)在测试中全部 Mock,禁止真实调用
|
||||
- 每个受权限保护的 View,必须覆盖:有权限(200)、无权限(403)、未登录(302)三个场景
|
||||
|
||||
### 覆盖率基准
|
||||
|
||||
| 模块 | 最低目标 |
|
||||
|------|---------|
|
||||
| `core/` 核心基础模块 | ≥ 90% |
|
||||
| `apps/*/services/` 业务逻辑层 | ≥ 80% |
|
||||
| `apps/*/views.py` 视图层 | ≥ 70% |
|
||||
| E2E 核心用户旅程(5 条) | 100% 通过 |
|
||||
|
||||
### CI 自动化
|
||||
|
||||
- 每次 push 到 `main` / `develop` 自动运行单元测试 + 集成测试
|
||||
- 每日北京时间凌晨 2 点自动运行全量套件(含 E2E)
|
||||
- 配置文件:`.github/workflows/daily-test.yml`
|
||||
|
||||
---
|
||||
|
||||
## 10. 文档维护原则
|
||||
|
||||
- 本文档仅记录**跨模块共识**与**模块索引**,不展开模块细节
|
||||
- 模块技术方案在子文档中维护,并通过 §8 表格回链
|
||||
- 任何技术栈变更(替换组件、升级主版本、新增外部服务)须同步更新本文档 §2、§5、§6
|
||||
- 新增模块时,先在 §4 目录结构补位,再在 §8 索引登记子文档
|
||||
- 测试规范变更须同步更新 §9 关键结论,完整细节在 [`测试规范.md`](./测试规范.md) 中维护
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user