Day 070 练习题清单
练习 1:数学函数测试 ⭐⭐
为以下函数编写完整的测试:
- sqrt(n) —— 计算平方根(处理负数)
- fibonacci(n) —— 计算斐波那契数列
- is_palindrome(s) —— 判断回文字符串
- 要求覆盖正常路径、边界条件、异常情况
练习 2:数据库操作测试 ⭐⭐⭐
为 Day 068 的通讯录管理系统编写测试: - 测试 ContactManager 的所有方法 - 使用 fixture 管理测试数据库 - 测试后自动清理数据
练习 3:Mock 外部服务 ⭐⭐⭐
编写一个邮件发送函数的测试: - Mock SMTP 服务器 - 测试发送成功和失败的情况 - 验证邮件内容和收件人
练习 4:API 测试套件 ⭐⭐⭐⭐
为一个完整的 REST API 编写测试: - 覆盖所有 CRUD 操作 - 测试认证和权限 - 使用参数化测试覆盖多种场景 - 目标覆盖率 > 80%
练习 5:TDD 实践 ⭐⭐⭐⭐
用 TDD(测试驱动开发)方式实现一个购物车: 1. 先写测试(红灯) 2. 写最少的代码让测试通过(绿灯) 3. 重构代码(保持测试通过) 4. 重复以上步骤
提交要求
- 所有练习的代码文件放在 exercises/ 目录
- 使用 pytest 风格
- 测试可以独立运行
- 添加必要的注释