《xUnit Test Patterns》学习笔记7(完) - 总结
总体来说,这本书是不错的。后面的第二部分和第三部分,主要针对Test Smells和Test Patterns进行了更加具体的描述,主要的内容和第一部分还是基本一致的。因此,我主要的精力都花在了第一部分,对于后面的第二部分和第三部分,我是跳着看完的。后面的内容当作字典来查询会比较好,因为写的比较详细。
其中有一个观点我觉得是比较新颖的,如果你分不清现在做的测试是不是属于单元测试,就请参照一下下面的吧:
A test is not a unit test if:
- It talks to the database.
- It communicates across the network.
- It touches the file system.
- It can’t run correctly at the same time as any of your other unit tests.
- You have to do special things to your environment (such as editing config files) to run it.
在讲到代码的可测性设计时,作者提出主要从以下几个方面来提高可测性:
Dependency Injection
依赖注入,代码设计中并不依赖于具体的实现,并且运行将特定的实现注入到系统中。注入主要有三种方式:
- Parameter Injection
- Constructor Injection
- Setter Injection
Dependency Lookup
依赖查找,运行时动态查找到所依赖的具体对象。
Humble Object
这个名称很抽象,我的理解是在代码中提供一些接口出来,方面测试。
Test Hook
在代码中加入一些测试逻辑,比如,如果是测试模块,就怎么怎么样。不过,我想这种方式应该是不值得推荐的。
最后,很欣慰在春节前把这本书看完了,可以说收获还是蛮大的。以后遇到什么问题,可以拿这本书当资料来查。xUnit Test Patterns的官方地址如下:
可以在这个地址查询到每个测试模式和相关的名称解释。

作者:CoderZh
公众号:hacker-thinking (一个程序员的思考)
独立博客:http://blog.coderzh.com
博客园博客将不再更新,请关注我的「微信公众号」或「独立博客」。
作为一个程序员,思考程序的每一行代码,思考生活的每一个细节,思考人生的每一种可能。
文章版权归本人所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?