# pytest测试实战

> 金屋电子书图书详情的 Markdown 版本。

- 规范页面：https://pdfs.top/book/513bb19036104942a164ec6dc35984d5
- Markdown 版本：https://pdfs.top/book/513bb19036104942a164ec6dc35984d5.md
- 作者：[美] Brian Okken
- ISBN：9787568044424
- 出版社：华中科技大学出版社
- 出版日期：2018-08-01
- 语言：中文
- 分类：计算机、软件工程
- 评分：8.4
- 可用格式：PDF（64.05 MB，240 页）
- 更新时间：2026-08-04 12:23:20

## 下载方式

本站不在 Markdown 页面直接提供文件地址。请前往规范页面，点击对应格式的下载按钮完成下载。

### PDF

- 文件格式：PDF
- 文件大小：64.05 MB
- 页数：240 页
- 下载说明：请打开规范页面 https://pdfs.top/book/513bb19036104942a164ec6dc35984d5，点击 PDF 的下载按钮完成下载。


## 内容简介

pytest是动态编程语言Python专用的测试框架，它具有易于上手、功能强大、第三方插件丰富、效率高、可扩展性好、兼容性强等特点。《pytest测试实战》深入浅出地讲解了pytest的使用方法，尤其是具有特色的fixture的用法。作者通过丰富的测试实例，手把手教读者编写简洁、易于维护的测试代码和插件，让你轻松掌握这个业界最受欢迎的Python测试工具。

- 第1章介绍pytest的安装，同时会介绍Tasks项目的数据结构部分（名为Task的namedtuple），并用它作为测试示例。我们会学习如何指定测试文件运行，以及pytest常用的命令行命令，包括重新运行失败测试、遇到失败即停止所有测试、控制堆栈跟踪、控制日志输出，等等。

- 第2章将使用pip在本地安装Tasks项目，学习在Python项目中如何组织测试目录，这样才能针对实际项目编写测试用例。这一章的所有示例都依赖外部程序，包括数据库写入。

- 第3章介绍如何将测试数据、启动逻辑、销毁逻辑放入fixture（pytest定义的一种测试脚手架）。设置系统（或子系统、系统单元）是软件测试的重要环节，第3章将介绍用一个简单的fixture完成这方面的工作（包括对数据库进行初始化，写入数据以备测试之用）。Fixture模块的功能非常强大，你可以利用它简化测试代码，从而提高代码的可读性和可维护性。Fixture像测试函数一样，也有参数。利用参数，你只需要编写一份代码，就可以针对TinyDB和MongoDB（或其他Tasks项目支持的数据库）开展测试。

- 第4章介绍pytest内置的fixture以满足测试中常见的一些需求，包括生成和销毁临时目录、截取输出流（通过日志判定结果）、使用monkey patch、检查是否发出警告，等等。

- 第5章讲解如何在pytest中添加命令行选项，如何改进打印输出，如何打包分发自己编写的插件，如何共享定制化的pytest（包括fixture）。这一章开发的插件可以改善Tasks项目测试失败时的输出呈现方式。你还将学习测试自己的测试插件（元测试）。读完这一章，想必你已经等不及编写自己的插件了。附录C收集了一些热门的社区插件，可供参考。

- 第6章讲解通过pytest.ini文件修改默认配置，自定义pytest的运行方式。pytest.ini文件可以存放某些命令选项，从而减少你重复输入命令的次数；利用它还可以指定pytest忽略某些测试目录，或者指定pytest的最低版本，等等。使用tox.ini和setup.cfg文件也可以实现同样的功能。

- 第7章（最后一章）介绍pytest与其他工具的结合使用。我们将借助tox让Tasks项目在多个Python版本上运行；学习如何测试Tasks项目的CLI部分，而不必mock系统的其余部分；借助coverage.py检查Tasks项目代码块的测试覆盖情况；通过Jenkins发起测试并实时显示结果。最后，还会学习如何让pytest运行基于unittest的测试用例，以及把pytest的fixture共享给unittest的测试用例使用。
