后端开发完成

This commit is contained in:
Your Name
2026-01-26 18:21:34 +08:00
parent 40d2f3f6ac
commit b3876bba89
64 changed files with 1736 additions and 0 deletions
+115
View File
@@ -0,0 +1,115 @@
# 后端测试文档
## 测试结构
本测试目录包含项目管理系统后端的单元测试和集成测试,主要测试以下模块:
- **认证模块**:测试用户登录、token生成等功能
- **用户管理模块**:测试用户的创建、查询、更新、删除等功能
- **项目管理模块**:测试项目的创建、查询、更新、删除等功能
## 测试环境
- **测试框架**Pytest
- **测试客户端**FastAPI TestClient
- **测试数据库**:SQLite(内存数据库)
- **测试用户**
- 管理员:test_admin / test_password
- 市场部:test_marketing / test_password
- 其他部门:test_other / test_password
## 测试文件结构
```
tests/
├── conftest.py # 测试配置和 fixtures
├── test_auth.py # 认证模块测试
├── test_user.py # 用户管理模块测试
├── test_project.py # 项目管理模块测试
└── README.md # 测试文档
```
## 运行测试
### 安装依赖
```bash
# 安装测试依赖
pip install pytest pytest-cov
```
### 运行所有测试
```bash
# 在backend目录下运行
pytest
# 运行测试并生成覆盖率报告
pytest --cov=app
# 运行测试并生成HTML格式的覆盖率报告
pytest --cov=app --cov-report=html
```
### 运行特定模块的测试
```bash
# 运行认证模块测试
pytest tests/test_auth.py
# 运行用户管理模块测试
pytest tests/test_user.py
# 运行项目管理模块测试
pytest tests/test_project.py
```
## 测试用例说明
### 认证模块测试
- 测试用户登录功能
- 测试token生成和验证
- 测试错误登录场景
### 用户管理模块测试
- 测试管理员获取用户列表
- 测试管理员创建用户
- 测试管理员更新用户
- 测试管理员删除用户
- 测试权限控制
### 项目管理模块测试
- 测试市场部创建项目
- 测试获取项目列表
- 测试更新项目
- 测试删除项目
- 测试项目历史记录
- 测试权限控制
## 测试覆盖范围
- API路由测试
- 业务逻辑测试
- 数据验证测试
- 权限控制测试
- 错误处理测试
## 注意事项
1. 测试使用SQLite内存数据库,不会影响生产数据库
2. 测试会自动创建和清理测试数据
3. 测试运行时会覆盖数据库依赖,使用测试数据库
4. 测试完成后会自动删除测试数据库
## 测试结果分析
测试运行完成后,会显示测试结果和覆盖率报告。通过分析测试结果,可以了解:
- 哪些功能通过了测试
- 哪些功能需要改进
- 代码覆盖率情况
- 潜在的问题和bug
## 持续集成
测试可以集成到CI/CD流程中,每次代码提交时自动运行测试,确保代码质量。