← 返回 Day 74 正文

Day 74 · 练习与清单

Day 074 练习题清单

练习 1:TDD 实践 ⭐⭐

用 TDD 方式实现一个购物车类: - 添加商品 - 移除商品 - 计算总价 - 应用折扣 - 清空购物车

要求: - 先写测试,再写实现 - 测试覆盖所有边界情况 - 使用 pytest 运行测试 - 代码通过所有测试

练习 2:参数化测试 ⭐⭐

为以下函数编写参数化测试: - 字符串反转 - 斐波那契数列 - 质数判断

要求: - 使用 @pytest.mark.parametrize - 每个函数至少 5 个测试用例 - 使用 ids 自定义测试名称 - 测试边界情况(空字符串、0、1、负数等)

练习 3:集成测试 ⭐⭐⭐

为一个简单的文件处理系统写集成测试: - 创建临时文件 - 读取文件内容 - 处理文件(转换大小写) - 写入新文件 - 验证结果

要求: - 使用 pytest fixture 管理临时目录 - 测试文件不存在的情况 - 测试权限错误 - 生成测试覆盖率报告

练习 4:异步测试 ⭐⭐⭐

测试一个异步 HTTP 客户端: - 使用 aioresponses 模拟 HTTP 请求 - 测试成功和失败场景 - 测试超时处理 - 测试重试机制

要求: - 安装 aioresponses: pip install aioresponses - 使用 @pytest.mark.asyncio - 测试不同 HTTP 状态码 - 测试网络错误处理

练习 5:完整测试套件 ⭐⭐⭐⭐

为一个 REST API 写完整的测试套件: - 单元测试(工具函数) - 集成测试(数据库操作) - API 测试(端点测试) - 性能测试(响应时间) - 生成覆盖率报告

要求: - 使用 pytest fixture 管理测试数据 - 测试所有 HTTP 方法(GET, POST, PUT, DELETE) - 测试错误处理 - 生成 HTML 覆盖率报告 - 测试代码覆盖率 > 80%

提交要求