《Python测试驱动开发(第2版)》是一本非常实用的书籍,特别适合对Python和驱动开发感兴趣的读者。书中从最基础的知识开始,逐步讲解了Web开发的整个流程,并展示了如何使用Python进行测试驱动开发。该书全程使用Python 3,并针对新版Django进行了全面升级。无论你是初学者还是有一定经验的开发者,这本书都会为你提供丰富的知识和实战经验。如果你想深入了解Python和驱动开发,那么这本书将是你的不二选择。欢迎下载阅读!
Python测试驱动开发电子书封面
读者评价
最近学习了一本书《Python Web开发:测试驱动方法》,贯穿全书的便是测试驱动开发的编程思想。有点儿兵马未动,粮草先行的兵家思想。先简单总结一下这本书带给我的收获:1.学习了测试驱动开发的一种编程思想,与传统的瀑布开发流程又很大的出入。2.学习了如何写好功能测试,如何写好单元测试。3.先通过测试,再谈重构。
内容介绍
本书从基础的知识开始,讲解Web开发的整个流程,展示如何使用Python做测试驱动开发。本书由三个部分组成。第一部分介绍了测试驱动开发和Django的基础知识,并在每个阶段进行严格的单元测试。第二部分讨论了Web开发要素,探讨了Web开发过程中不可避免的问题,以及如何通过测试解决这些问题。第三部分探讨了一些话题,如模拟技术、集成第三方认证系统、Ajax、测试固件以及持续集成等。
第2版全部使用Python 3,并针对新版Django全面升级,介绍了由外而内的测试驱动开发流程。
本书适合Web开发人员阅读。
目录
- 前言xv
- 准备工作和应具备的知识xxi
- 配套视频xxviii
- 致谢xxix
- 第一部分TDD和Django基础
- 第1章使用功能测试协助安装Django2
- 第2章使用unittest模块扩展功能测试10
- 第3章使用单元测试测试简单的首页16
- 第4章测试(及重构)的目的28
- 第5章保存用户输入:测试数据库42
- 第6章改进功能测试:确保隔离,去掉含糊的休眠66
- 第7章步步为营75
- 第二部分Web开发要素
- 第8章美化网站:布局、样式及其测试方法108
- 第9章使用过渡网站测试部署123
- 第10章为部署到生产环境做好准备139
- 第11章使用Fabric自动部署148
- 第12章输入验证和测试的组织方式159
- 第13章数据库层验证171
- 第14章简单的表单186
- 第15章高级表单205
- 第16章试探JavaScript219
- 第17章部署新代码234
- 第三部分高级话题
- 第18章用户身份验证、探究及去掉探究代码238
- 第19章使用驭件测试外部依赖或减少重复257
- 第20章测试固件和一个显式等待装饰器285
- 第21章服务器端调试技术293
- 第22章完成“MyLists”页面:由外而内的TDD306
- 第23章测试隔离和“倾听测试的心声”319
- 第24章持续集成346
- 第25章简单的社会化功能、页面模式以及练习363
- 第26章测试运行速度的快慢和炽热的岩浆371
- 遵从测试山羊的教诲379
- 附录APythonAnywhere381
- 附录B基于类的Django视图385
- 附录C使用Ansible配置服务器394
- 附录D测试数据库迁移398
- 附录E行为驱动开发403
- 附录F构建一个RESTAPI:JSON、Ajax和JavaScript模拟技术416
- 附录GDjango-Rest-Framework433
- 附录H速查表443
- 附录I接下来做什么447
- 附录J示例源码451
- 参考书目453
- 作者简介454
- 封面介绍454
什么是测试驱动开发? 这里采用了百度百科的测试驱动开发词条的含义: 测试驱动开发,英文全称Test-Driven Development,简称TDD,是一种不同于传统软件开发流程的新型的开发方法。它要求在编写某个功能的代码之前先编写测试代码,然后只编写使测试通过的功能代码,通过测试来推动整个开发的进行。这有助于编写简洁可用和高质量的代码,并加速开发过程。 Kent Beck先生最早在其极限编程(XP)方法论中,向大家推荐“测试驱动”这一最佳实践,还专门撰写了《测试驱动开发》一书,详细说明如何实现。经过几年的迅猛发展,测试驱动开发已经成长为一门独立的软件开发技术,其名气甚至盖过了极限编程。 如上图所示,测试驱动开发的过程如下: 1.编写一个失败的单元测试用例; 2.编写代码使得单元测试用例通过; 3.重构 如果必要的话,为每一个可能,重复此过程。
测试驱动开发(TDD)是一个近些年被实践证明过的过程。把测试带入日常的编码过程而不是编码完成后才进行测试的过程应该是开发人员试图成为习惯的方式而不是空谈的方式。 测试驱动开发的整个过程是很容易被掌握的,而且给我们带来很多的好处--代码质量的提高,但是也清晰和专注于你要达到的目标它是什么以及你要怎样达到目标。测试驱动开发也可以无缝地与敏捷开发一起工作,在结对编程的时候,能够充分被利用,你将在后面会看到。
测试驱动开发心得体会 手头开发项目时进行了TDD,发现它非常好用,具体表现在如下方面: 1.引导程序员设计合理的功能粒度和易测的外部模块接口。 2.自动化测试,能够在保证质量的前提下进行重构,对代码进行修改后可以方便地运行单元测试,以保证代码没有改成屎。 3.测试用例可以作为api demo文档,团队内程序员问我某个工具类的API如何使用,我让他去看单元测试的API调用方法。 4.提高开发速度,虽然测试代码是业务逻辑代码量的2-3倍,但是减少了大量基本逻辑错误,减少了返工工作量;减少调试时间,把精力放在基本功能模块及其关联的交互上,而不从全局考虑功能。