Python Web开发:测试驱动方法 封面

Python Web开发:测试驱动方法

评分 3.9
章节数
28
丛书
图灵程序设计丛书
ISBN
9787115403278

标签

内容简介

本书是《Test-Driven Development with Python》的中文译本(2015年人民邮电出版社图灵程序设计丛书版,安道译)。作者哈里·J.W. 珀西瓦尔以“结对编程”的口吻,带读者从零开始开发一个真实的待办事项清单(To-Do Lists)网站,全程贯彻“没有测试什么也别做”的测试山羊信条:先写会失败的测试,再写最少量代码让它通过,然后重构。 全书分为三部分。第一部分(第1~6章)打基础:用 Selenium 写功能测试,用 Python 标准库 unittest 与 Django 自带的测试工具写单元测试,厘清功能测试与单元测试的分工,并沿途引入 Django 的模型、视图、模板、表单、ORM 与数据库迁移,同时把 Git 提交纳入 TDD 循环。第二部分(第7~14章)处理 Web 开发绕不开的现实问题:用 Bootstrap 与模板继承美化页面、管理静态文件、搭建过渡(staging)服务器、用 Fabric 自动部署、做输入验证与表单重构、试探 JavaScript 及其测试,以及把新代码安全地上线。第三部分(第15~22章)进入进阶话题:用户认证与集成第三方登录、用模拟(mock)技术隔离外部依赖、测试固件与日志调试、由外而内的 TDD、测试隔离,以及持续集成等。 本书不是 Python 语法书,也不满足于罗列知识点,它想传授的是一套可重复的工程习惯:让测试成为设计工具,让重构有安全网。读者会顺带掌握 Django、Selenium、Git、jQuery 和 Mock 的基本用法。

编辑推荐

很多讲测试的书停在概念和玩具示例上,这本书则把你按在一张真实的工位旁边:一起装 Django、一起写第一个会失败的 Selenium 测试、一起被“测试山羊”盯着不放。作者珀西瓦尔是 TDD 的长期布道者,也是 PythonAnywhere 的开发者,因此书中连注册域名、配 Nginx、用 Fabric 部署这类“脏活”都写得清清楚楚。 它的价值在三处。其一,先测试后编码的节奏贯穿全书,读者能亲身体会“红—绿—重构”为什么能降低心理压力,而不是被口号说服。其二,功能测试与单元测试的分层讲得极透,这两种测试各自管什么、什么时候该用 mock,都有可操作的判断标准。其三,把 Git、部署、持续集成这些工程实践编进同一条流水线,学完相当于走完一个小型项目的完整生命周期。 需要提醒的是,本版基于较早期的 Django 与 Python 3 环境,部分命令与库版本已显陈旧;如果只想要最新框架用法,可参考后来改名为《Python测试驱动开发》的第2版。但作为理解 TDD 思维方式的第一本书,它依然值得反复翻。

适合谁读

适合

  • 已会写 Python、做过一两个小项目,想系统学习工程实践的开发者
  • 使用 Django 或其他框架做 Web 开发,却长期不敢重构代码的人
  • 计算机专业学生或转行者,希望用一个完整项目串起开发全流程
  • 对单元测试、功能测试、持续集成只闻其名、缺少实操经验的读者

不适合

  • 完全零基础、尚未掌握 Python 基本语法的初学者,读起来会两头顾不上
  • 只想查 Django API 用法、当作速查手册使用的读者
  • 严格跟随最新框架版本、需要即用型现代代码示例的团队
  • 只关心前端或纯算法、不打算接触 Web 后端工程的人

阅读建议

  1. 务必打开编辑器跟着敲代码,不要复制粘贴;书中特意强调手打能形成肌肉记忆并训练调试能力。
  2. 遇到测试失败先自己排查再看书,把“红—绿—重构”的循环亲手走完一轮,比读完十章更有用。
  3. 版本差异较大的章节,先按书中的思路理解意图,再对照当前 Django 文档调整具体写法。
  4. 读完第 14 章后,可把自己的小项目改造成 TDD 流程,用功能测试守住最关键的用户路径。

出版社简介

人民邮电出版社 中国 · 成立于 1953 年

人民邮电出版社以科技、计算机与信息通信类图书见长,并由此延伸至摄影、艺术、软件学习与励志成长等门类,形成较为多元的出版方向。库内图书既涵盖《重构与模式(修订版)》《华为交换机学习指南(第二版)》等计算机与通信技术读物,也收录《小王子(中英法彩绘典藏纪念版)》《了不起的盖茨比》《假如给我三天光明》等双语典藏类作品;《北京十年:1980-1990》与《鬼刀 WLOP个人插画作品集》则体现其在摄影与艺术领域的布局。作者资源包括安东尼·圣埃克苏佩里、海伦·凯勒、Joshua Kerievsky、王达、张兆增与WLOP等。

目录

  1. 前言
  2. 准备工作和应具备的知识
  3. 第一部分 TDD 和 Django 基础
  4. 第1章 使用功能测试协助安装Django
  5. 第2章 使用unittest模块扩展功能测试
  6. 第3章 使用单元测试测试简单的首页
  7. 第4章 编写这些测试有什么用
  8. 第5章 保存用户输入
  9. 第6章 完成最简可用的网站
  10. 第二部分 Web开发要素
  11. 第7章 美化网站:布局、样式及其测试方法
  12. 第8章 使用过渡网站测试部署
  13. 第9章 使用Fabric自动部署
  14. 第10章 输入验证和测试的组织方式
  15. 第11章 简单的表单
  16. 第12章 高级表单
  17. 第13章 试探JavaScript
  18. 第14章 部署新代码
  19. 第三部分 高级话题
  20. 第15章 用户认证、集成第三方插件以及JavaScript模拟技术的使用
  21. 第16章 服务器端认证,在Python中使用模拟技术
  22. 第17章 测试固件、日志和服务器端调试
  23. 第18章 完成“My Lists”页面:由外而内的TDD
  24. 第19章 测试隔离和“倾听测试的心声”
  25. 第20章 持续集成
  26. 第21章 简单的社会化功能、页面模式,以及练习
  27. 第22章 测试运行速度的快慢和炽热的岩浆
  28. 书目

常见问题

这本书只讲测试吗?
不止。测试是主线,但作者围绕它讲了 Git 版本控制、静态文件与 Bootstrap 美化、过渡服务器与自动部署、表单验证、JavaScript 及其单元测试、mock 技术、持续集成等整套 Web 开发实践,可以当作一个完整项目的实战课。
读之前需要什么基础?
需要能读懂并写出基本 Python 3 代码,最好了解函数、类与模块的概念。书中从零介绍 Django,但作者建议完全没接触过 Django 的读者先花几小时过一遍官方教程再回来。
这本书和第2版《Python测试驱动开发》是什么关系?
本书是 2015 年人民邮电出版社的中译本,译自原书第1版;2018 年的第2版改名为《Python测试驱动开发:使用Django、Selenium和JavaScript进行Web编程》,改用 Python 3 与新版 Django 重写。两本内容框架相近,选一本跟着做完整流程即可。
书中的代码版本太老还能照着做吗?
核心的 TDD 流程、测试分层思路和部署原理不会过时,可以照做;但 Django、Fabric、Selenium 等具体 API 与命令已有变化,建议对照对应版本的官方文档微调,遇到报错优先查文档而不是怀疑方法本身。
适合用来准备面试或转行吗?
适合作为项目经验的补充。它能帮你讲清楚测试策略、部署流程和重构取舍,但面试常考的框架细节、数据库与算法仍需另行准备,别把它当作唯一复习材料。

读者评论

查询本书

本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。

同类高分