| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 11 个月前 | ||
| 11 个月前 | ||
| 11 个月前 | ||
| 11 个月前 | ||
| 11 个月前 | ||
| 3 个月前 | ||
| 11 个月前 | ||
| 11 个月前 | ||
| 11 个月前 | ||
| 11 个月前 | ||
| 11 个月前 | ||
| 9 个月前 | ||
| 11 个月前 | ||
| 5 个月前 | ||
| 11 个月前 | ||
| 5 个月前 | ||
| 11 个月前 |
Common Module Tests
这个目录包含了 common 模块的单元测试。
测试结构
tests/
├── __init__.py # 测试包初始化
├── conftest.py # pytest 配置和 fixtures
├── test_main.py # 主要模块集成测试
├── test_exceptions.py # 异常处理模块测试
├── test_service_base.py # 服务基础类测试
├── test_otlp_utils.py # OTLP 工具函数测试
└── test_utils.py # 工具函数测试
运行测试
运行所有测试
# 使用 uv 运行
uv run python -m pytest tests/ -v
# 使用现有的测试脚本
./run_tests.sh
# 使用简单测试脚本
./run_simple_tests.sh
运行特定测试
# 运行特定测试文件
uv run python -m pytest tests/test_exceptions.py -v
# 运行特定测试类
uv run python -m pytest tests/test_service_base.py::TestService -v
# 运行特定测试方法
uv run python -m pytest tests/test_exceptions.py::TestBaseExc::test_init_basic -v
测试模块说明
test_exceptions.py
测试异常处理模块,包括:
BaseExc基础异常类BaseCommonException通用异常类- 各种具体异常类
- 错误代码常量
test_service_base.py
测试服务基础类,包括:
Service抽象基类ServiceFactory服务工厂基类ServiceType服务类型枚举
test_otlp_utils.py
测试 OTLP 工具函数,包括:
- IP 地址获取功能
- SID 生成器
- 各种工具函数
test_utils.py
测试工具函数,包括:
- HMAC 认证工具
- 各种辅助函数
test_main.py
测试主要模块的集成功能,包括:
- 模块导入测试
- 服务管理器单例模式
- 异常层次结构
- 各种工作流程
测试 Fixtures
在 conftest.py 中定义了常用的测试 fixtures:
mock_service: 模拟服务对象mock_service_factory: 模拟服务工厂sample_config: 示例配置数据mock_environment: 模拟环境变量
添加新测试
1. 创建测试文件
# tests/test_new_module.py
"""
Tests for new module
"""
import pytest
from common.new_module import NewClass
class TestNewClass:
"""Test NewClass functionality"""
def test_basic_functionality(self):
"""Test basic functionality"""
obj = NewClass()
assert obj is not None
2. 使用 Fixtures
def test_with_fixture(mock_service):
"""Test using fixture"""
assert mock_service is not None
注意事项
- 测试应该独立运行,不依赖外部服务
- 使用 mock 对象模拟外部依赖
- 测试应该覆盖正常情况和异常情况
- 保持测试的简洁和可读性
- 定期更新测试以适应代码变化