2.7 KiB
2.7 KiB
后端测试文档
测试结构
本测试目录包含项目管理系统后端的单元测试和集成测试,主要测试以下模块:
- 认证模块:测试用户登录、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 # 测试文档
运行测试
安装依赖
# 安装测试依赖
pip install pytest pytest-cov
运行所有测试
# 在backend目录下运行
pytest
# 运行测试并生成覆盖率报告
pytest --cov=app
# 运行测试并生成HTML格式的覆盖率报告
pytest --cov=app --cov-report=html
运行特定模块的测试
# 运行认证模块测试
pytest tests/test_auth.py
# 运行用户管理模块测试
pytest tests/test_user.py
# 运行项目管理模块测试
pytest tests/test_project.py
测试用例说明
认证模块测试
- 测试用户登录功能
- 测试token生成和验证
- 测试错误登录场景
用户管理模块测试
- 测试管理员获取用户列表
- 测试管理员创建用户
- 测试管理员更新用户
- 测试管理员删除用户
- 测试权限控制
项目管理模块测试
- 测试市场部创建项目
- 测试获取项目列表
- 测试更新项目
- 测试删除项目
- 测试项目历史记录
- 测试权限控制
测试覆盖范围
- API路由测试
- 业务逻辑测试
- 数据验证测试
- 权限控制测试
- 错误处理测试
注意事项
- 测试使用SQLite内存数据库,不会影响生产数据库
- 测试会自动创建和清理测试数据
- 测试运行时会覆盖数据库依赖,使用测试数据库
- 测试完成后会自动删除测试数据库
测试结果分析
测试运行完成后,会显示测试结果和覆盖率报告。通过分析测试结果,可以了解:
- 哪些功能通过了测试
- 哪些功能需要改进
- 代码覆盖率情况
- 潜在的问题和bug
持续集成
测试可以集成到CI/CD流程中,每次代码提交时自动运行测试,确保代码质量。