# 测试unitpy

## 规则（Rules）

# Python单元测试 - 规范

## 1. 测试框架规范
- 测试框架：pytest
- 断言使用Python原生 `assert` 语句
- 覆盖率工具：pytest-cov

## 2. 测试结构规范
- 测试函数命名使用 `test_` 前缀
- 测试类名使用 `Test` 前缀
- 使用 `conftest.py` 管理共享fixture
- 缩进统一使用4个空格
- 注释使用docstring格式

## 3. 覆盖率要求
- 总覆盖率必须 ≥ 80%
- 禁止为了达到覆盖率而编写无效用例
- 禁止忽略失败的测试用例

## 方法（Methods）

# Python单元测试 - 方法

## 流程概览
```
分析代码结构 → 编写测试用例 → 执行测试获取覆盖率 → 生成报告 → 回归测试
```

## 步骤1：分析代码结构
搜索Python代码文件，读取每个文件提取导出函数和类。

## 步骤2：编写单元测试用例
对每个函数编写测试用例，覆盖正常路径、边界值和异常路径。

## 步骤3：执行测试并获取覆盖率
使用pytest执行测试，提取总覆盖率百分比指标。

## 步骤4：生成测试报告
包含测试概述、用例执行结果、覆盖率数据、失败用例详情。

## 步骤5：回归测试
代码修改后重新执行测试，对比覆盖率变化趋势。

## 技巧（Tips）

# Python单元测试 - 技巧

## 1. Fixture共享
使用conftest.py管理共享fixture，避免重复代码。

## 2. 参数化测试
使用pytest的 parametrize 功能，一个测试函数覆盖多组输入。

## 3. Mock外部依赖
使用unittest.mock或pytest-mock模拟外部API和数据库调用。
