pytest测试实战

pytest测试实战

  • 特价 29.50
  • 原价 69.9
  • 作者 布赖恩·奥肯
  • 出版社 华中科技大学出版社
  • 出版时间 2018年09月

详情

内容简介

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


作者简介

Brian Okken是一位有二十多年工作经验的软件测试工程师,他业余时间录制了Test & Code和Python Bytes两个播客。


目  录

第1章  pytest入门 1

1.1  资源获取 4

1.2  运行Pytest 5

1.3  运行单个测试用例 10

1.4  使用命令行选项 10

--collect-only选项 11

-k选项 11

-m选项 12

-x选项 13

--maxfail=num 15

-s与--capture=method 16

--lf(--last-failed)选项 16

--ff(--failed-first)选项 17

-v(--verbose)选项 17

-q(--quiet)选项 18

-l(--showlocals)选项 19

--tb=style选项 20

--duration=N选项 21

--version选项 22

-h(--help)选项 23

1.5  练习 24

1.6  预告 25

第2章  编写测试函数 27

2.1  测试示例程序 27

本地安装Tasks项目程序包 30

2.2  使用assert声明 32

2.3  预期异常 35

2.4  测试函数的标记 36

完善冒烟测试 38

2.5  跳过测试 40

2.6  标记预期会失败的测试 43

2.7  运行测试子集 45

单个目录 45

单个测试文件/模块 46

单个测试函数 47

单个测试类 47

单个测试类中的测试方法 48

用测试名划分测试集合 48

2.8  参数化测试 49

2.9  练习 56

2.10 预告 57

第3章  pytest Fixture 59

3.1  通过conftest.py共享fixture 60

3.2  使用fixture执行配置及销毁逻辑 61

3.3  使用--setup-show回溯fixture的执行过程 63

3.4  使用fixture传递测试数据 64

3.5  使用多个fixture66

3.6  指定fixture作用范围 68

修改Tasks项目的fixture作用范围 70

3.7  使用usefixtures指定fixture 73

3.8  为常用fixture添加autouse选项 74

3.9  为fixture重命名 75

3.10 Fixture的参数化 77

3.11 参数化Tasks项目中的fixture 80

3.12 练习 83

3.13 预告 83

第4章  内置Fixture 85

4.1  使用tmpdir和tmpdir_factory86

在其他作用范围内使用临时目录 88

4.2  使用pytestconfig90

4.3  使用cache 92

4.4  使用capsys 100

4.5  使用monkeypatch102

4.6  使用doctest_namespace106

4.7  使用recwarn 109

4.8  练习 110

4.9  预告 111

第5章  插件 113

5.1  寻找插件 114

5.2  安装插件 114

从PyPI安装 114

从PyPI安装指定版本 115

从.tar.gz或.whl文件安装 115

从本地目录安装 115

从Git存储仓库安装 116

5.3  编写自己的插件 116

5.4  创建可安装插件 121

5.5  测试插件 125

5.6  创建发布包 129

通过共享目录分发插件 130

通过PyPI发布插件 130

5.7  练习 131

5.8  预告 131

第6章  配置 133

6.1  理解pytest的配置文件 133

用pytest --help查看ini文件选项 135

插件可以添加ini文件选项 135

6.2  更改默认命令行选项 136

6.3  注册标记来防范拼写错误136

6.4  指定pytest的版本号 138

6.5  指定pytest忽略某些目录 138

6.6  指定测试目录 139

6.7  更改测试搜索的规则 141

6.8  禁用XPASS 142

6.9  避免文件名冲突 143

6.10 练习 145

6.11  预告 145

第7章  pytest与其他工具的搭配使用147

7.1 pdb:调试失败的测试用例 147

7.2  coverage.py:判断测试覆盖了多少代码 151

7.3 mock:替换部分系统 155

7.4 tox:测试多种配置 162

7.5 Jenkins CI:让测试自动化 166

7.6 unittest:用pytest运行历史遗留测试用例 173

7.7  练习 179

7.8  预告 180

附录A  虚拟环境 181

附录B  Pip 183

附录C  常用插件 187

C.1  改变测试流程的插件 187

pytest-repeat:重复运行测试 187

pytest-xdist:并行运行测试 189

pytest-timeout:为测试设置时间限制190

C.2  改善输出效果的插件 191

pytest-instafail:查看错误的详细信息191

pytest-sugar:显示色彩和进度条 192

pytest-emoji:为测试增添一些乐趣 193

pytest-html:为测试生成HTML报告 195

C.3  静态分析用的插件 197

pytest-pycodestyle和pytest-pep8:Python代码风格检查 197

pytest-flake8:更多的风格检查 197

C.4 Web开发用的插件 198

pytest-selenium:借助浏览器完成自动化测试198

pytest-django:测试Django应用 198

pytest-flask:测试Flask应用 199

附录D  打包和发布Python项目 201

D.1  创建可安装的模块 201

D.2  创建可安装的包 203

D.3  创建源码发布包和Wheel文件 205

D.4  创建可以从PyPI安装的包 209

附录E  xUnit Fixture 211

E.1 xUnit Fixture的语法 211

E.2  混合使用pytestFixture和xUnit Fixture 214

E.3 xUnit Fixture的限制 215

索引 216

显示部分信息
发表评论
评论通过审核后显示。
联系我们
  • 联系人:阿道
  • 联系方式: 17762006160
  • 地址:青岛市黄岛区长江西路118号青铁广场18楼