20 分钟
工程化

pytest 进阶

使用 pytest 编写更简洁的测试

  • pytest 的安装和基本用法
  • fixture 依赖注入
  • 参数化测试

pytest 风格

示例代码(可运行)

参数化测试

示例代码(可运行)

fixture

示例代码(可运行)
预测输出
print([1,2,3] == [1,2,3])
填空题填写空白处的代码
@pytest.mark.("a,b", [(1,2),(3,4)])
选择题

pytest测试函数命名?

资深工程师加餐

底层原理 · 大厂视角 · 工程经验,点卡片展开

常见根因:内存泄漏导致 OOM 被系统杀掉、连接/文件句柄没关闭耗尽、事件循环里混入同步阻塞、未捕获异常让进程退出。12-Factor App 的建议很实用:配置环境化、日志当成事件流输出、进程保持无状态(状态放数据库/缓存),这样才能随时加副本做水平扩展。

挑战任务

pytest挑战

简单+50 XP

用参数化方式测试多组数据。

pytest挑战
2 个测试用例

课后作业

边界测试

中等+20 XP

给斐波那契函数写边界和异常测试。

边界测试
1 个测试用例