《有效的单元测试》一第一部分 Part 1 基  础

简介:

本节书摘来自华章出版社《有效的单元测试》一书中的第1部分 作者 (芬)Lasse Koskela,更多章节内容可以访问云栖社区“华章计算机”公众号查看

第一部分 Part 1 基  础

本书第一部分打算利用各个章节,建立读者和作者之间也就是你我之间共同的上下文。本书最终的目的是帮助你提高编写优秀测试的能力,第1章先从整体来看测试先行所带来的价值。然后讨论程序员生产力的动力学,以及各种对测试和测试质量的影响,最后会简单地介绍两种与自动化测试紧密相关的方法:测试驱动开发(Test-Driven Development,TDD)和行为驱动开发(Behavior-Driven Development,BDD)。
第2章挑起重担,定义了如何才能写出优秀的测试。简而言之,我们希望写出可读、可维护、可靠的测试。第2部分将会深入兔子洞,反转问题,检视一系列我们不希望看到的反例。
第一部分的末尾是第3章,它会谈及现代程序员最基本的工具之一——测试替身(test double)。我们将建立合理的用法,比如隔离代码以使其能够被恰当地测试,并且区分各种可能用到的测试替身的类型。最后,我们指导如何用好测试替身,帮助你绕开常见的坑,同时又能享受替身的好处。
读完前三章,你应当明白哪种测试是你希望编写的,以及为什么是那样的。你应当清楚地理解测试替身,将其作为常用工具。本书其余部分将根据这些基础展开,扶上马,送你一程。

相关文章
|
存储 NoSQL 数据库
认证服务---整合短信验证码,用户注册和登录 ,密码采用MD5加密存储 【二】
这篇文章讲述了在分布式微服务系统中添加用户注册和登录功能的过程,重点介绍了用户注册时通过远程服务调用第三方服务获取短信验证码、使用Redis进行验证码校验、对密码进行MD5加密后存储到数据库,以及用户登录时的远程服务调用和密码匹配校验的实现细节。
认证服务---整合短信验证码,用户注册和登录 ,密码采用MD5加密存储 【二】
|
9月前
|
设计模式 网络协议 Java
04.里式替换原则介绍
里式替换原则(LSP)是面向对象设计的重要原则之一,确保子类可以无缝替换父类而不破坏程序功能。本文详细介绍了LSP的定义、背景、理解方法及应用场景,通过电商支付和鸟类飞行案例展示了如何遵循LSP,并分析了其优缺点。LSP强调子类应保持父类的行为一致性,有助于提高代码的可扩展性、可维护性和可重用性,但也可能导致过度设计。最后,对比了LSP与多态的区别,明确了LSP作为设计原则的重要性。
370 4
|
存储 索引
数组的特点
数组是一种线性数据结构,用于存储固定大小的顺序集合。每个元素在数组中都有一个唯一的索引,可以快速访问和修改。数组支持随机访问,但插入和删除操作较慢,因为需要移动后续元素。适用于需要频繁读取数据的场景。
|
安全 编译器 C语言
C语言常量的定义与使用的注意点
在 C 语言中,常量是在程序运行期间值不变的量,通过字面值、`#define` 或 `const` 关键字定义。字面常量直接在代码中表示固定值,如整数 `100`、浮点数 `3.14`、字符 `'A'` 和字符串 `"Hello, World!"`;`#define` 用于定义宏,如 `#define PI 3.14159`;`const` 则定义不可变变量,如 `const int daysInWeek = 7`。常量可用于数组大小、循环边界等场景,并能提升代码的可读性和可维护性。使用时需注意作用域、类型安全和命名,避免直接使用数字(魔法数字)。
|
数据采集 数据管理 数据挖掘
CDGP|数据治理策略揭秘:因企制宜,实现精准管控新高度
数据治理是指通过制定一系列政策、流程和技术手段,对企业数据进行全面、系统、规范的管理。它不仅能够确保数据的准确性、一致性和安全性,还能提升数据的质量和价值,为企业决策提供有力支持。因此,制定数据治理策略的首要任务是明确其核心价值,确保策略能够服务于企业的整体战略目标。
|
Java Maven
Mac安装Maven(图文解说详细版)
Mac安装Maven(图文解说详细版)
Mac安装Maven(图文解说详细版)
Cloud Toolkit 上传文件到远程服务器
Cloud Toolkit 2018.12 新版本发布,提供了在 Intellij IDEA 或 Eclipse 中直接将文件上传到远程服务器。 界面缩略图 第 1 步 :添加目标机器 如上图所示,在菜单 Tools - Alibaba Cloud - Alibaba Cloud View - Host中打开机器视图界面,如下图: 点击右上角Add Host按钮,出现添加机器界面 第 2 步 :登陆服务器 Terminal 点击机器列表中的 Terminal 按钮,即可完成终端登陆。
5973 102
|
Java C++ iOS开发
macos上VS Code上配置Python、Java、C++环境变量
macos上VS Code上配置Python、Java、C++环境变量
560 0
macos上VS Code上配置Python、Java、C++环境变量
|
SQL 域名解析 网络协议
|
弹性计算
阿里云网络收发包PPS是什么?
阿里云网络收发包PPS是什么?什么是网络收发包PPS?云服务器网络收发包PPS多少合适?网络收发包PPS是指云服务器每秒可以处理的网络数据包数量,单位是PPS即packets per second每秒发包数量。云服务器吧来详细说下阿里云服务器网络收发包PPS性能参数表,以及网络收发包PPS多少合适?
641 0
阿里云网络收发包PPS是什么?